怎么辨别文本文档的编码?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么辨别文本文档的编码?相关的知识,希望对你有一定的参考价值。

文本文档,有的带有BOM(ByteOrderMark,字节序标志),即0xEF,0xBB,0xBF,有的没有。
Windows下的txt文本编辑器在保存UTF-8格式的文本文档时会自动添加BOM到文件头。
在判断这类文档时,可以根据文档的前3个字节来进行判断。然而BOM不是必需的,而且也不是推荐的。
对不希望UTF-8文档带有BOM的程序会带来兼容性问题,例如Java编译器在编译带有BOM的UTF-8源文件时就会出错。
而且BOM去掉了UTF-8一个期望的特性,即是在文本全部是ASCII字符时UTF-8是和ASCII一致的,即UTF-8向下兼容ASCII。
参考技术A

文本文档,有的带有BOM (Byte Order Mark, 字节序标志),即0xEF, 0xBB, 0xBF,有的没有。

Windows下的txt文本编辑器在保存UTF-8格式的文本文档时会自动添加BOM到文件头。

在判断这类文档时,可以根据文档的前3个字节来进行判断。然而BOM不是必需的,而且也不是推荐的。

对不希望UTF-8文档带有BOM的程序会带来兼容性问题,例如Java编译器在编译带有BOM的UTF-8源文件时就会出错。

而且BOM去掉了UTF-8一个期望的特性,即是在文本全部是ASCII字符时UTF-8是和ASCII一致的,即UTF-8向下兼容ASCII。

参考技术B

1、在打开的ie浏览器窗口右上方点击齿轮图标,选择“Internet选项”,如下图所示:

2、在打开的Internet选项窗口中,切换到安全栏,在安全选卡中点击“自定义级别”,如下图所示:

3、在“安全设置-Internet 区域”界面找到“Java 小程序脚本”、“活动脚本”,并将这两个选项都选择为“禁用”,然后点击确定,如下图所示:

怎么把UTF-8编码的文本批量改成ANSI啊!!!!!!!!!?

之前找了个软件从ANSI改成UTF-8了,现在想改回来,找不到这种软件

用软件Replace Pioneer可以批量转换编码,详细步骤:
第一步:选文件
1.打开Tools->Batch Runner菜单
2.把多个待处理文件从windows拖拽到Batch Runner窗口中

第二步:变换编码
1.点击Change Encode按钮
2.点击input encoding,设置成utf-8
3.点击output encoding,设置成CN->gbk
4.点击start,完成

如果想反过来转,第2步选gbk,第3步选utf-8即可。
详见:How to convert multiple files from utf8 to GB2312?

参考资料:http://www.mind-pioneer.com/services/583_Character_encoding.html

参考技术A

在linux系统下,使用iconv命令就可以轻松搞定。

如:utf8文件名为:utf8.txt,转换成:ansi.txt,可键入以下命令

iconv -f utf8 -t gbk -o ansi.txt  utf8.txt

说明:

 Input/Output format specification:

  -f, --from-code=NAME       encoding of original text

  -t, --to-code=NAME         encoding for output

 -o, --output=FILE          output file

iconv -l可查看本机支持的字符集

参考技术B 装个ConvertZ 就能批量转编码了追问

不能从UTF-8改成ANSI

追答

ANSI Converter 这个呢?

追问

不行。

本回答被提问者采纳

以上是关于怎么辨别文本文档的编码?的主要内容,如果未能解决你的问题,请参考以下文章

更改文本文档默认编码UTF-8转换ANSI?

win10文本文档默认为啥是UTF-8,而且改变不了编码格式

C语言如何判断文本文档的结束

Java 把一个文本文档的内容复制到另一个文本文档

将文本文档的内容分门别类,查看部分文本

在 VSCode 扩展中设置文本文档的语言