字符编码1

 这几天从设备中导出一个文件,默认的编码格式是ANSI,但要求是UTF-8编码格式。因为对编码的概念不清楚,查了好多资料后总结如下。其中对引文进行注释,如有侵犯作者权利,请告知,我会尽快处理。
  1. BOM [1]
    文本的编码涉及到一个BOM(Byte Order Mark) 的概念,简单的讲,在Unicode标准中,为了标示文本文件的编码类型,可以在文本文件的开始插入几个特殊的byte,通过这几个特殊的byte应用程序就可以鉴别文本文件使用的是那种编码了。这几个特殊的byte也被称之为BOM。对于Unicode,几种编码的BOM如下:
    UTF-32, big-endian 文件的前4个byte是:00 00 FE FF
    UTF-32, little-endian文件的前4个byte是:FF FE 00 00
    UTF-16, big-endian文件的前2个byte是:FE FF
    UTF-16, little-endian文件的前2个byte是:FF FE
    UTF-8文件的前3个byte是:EF BB BF
    UTF-7的规律特殊一点,不是前几个byte,而是所有的byte转换为十进制都小于127.

  2. 字符集 [2]
    字符集就是一类字符,图形,标点符号的集合。简单理解就是所有英文用的字母,字符,标点符号就是一个字符集。同理,中文有中文的字符集,日语有日语的字符集等等。

  3. 编码集
    Unicode和ANSI都是字符的编码集,不是特定的字符编码!

    ANSI包括: ASCII, GB2312, GBK(繁体字符), GB13080(少数名族字符), BIG-5(台湾), JIS(日文)等编码;
    Unicode包括:UTF-8, UTF-16, UTF-32等编码。

  4. 编码示例
    记事本新建文本文件1.txt,其中输入字符“厂”保存,注意此时的编码格式为ANSI ;
    该文本另存为2.txt,编码格式选为Unicode;
    该文本另存为3.txt,编码格式选为UTF-8;
    UE打开的文件,显示二进制格式
    可以清晰的看到:
    1.txt保存时选择的编码是ANSI,其编码格式为GBK(中文操作系统);
    2.txt保存时选择的编码是Unicode,其编码格式为UTF-16(LE),这个编码也是该“厂”字的码 点,所以有文章提到Unicode可以看成UTF-16;
    3.txt保存时选择的编码是UTF-8,其编码格式为UTF-8。

引文如下:
[1] https://www.iteye.com/blog/jxyang-1708949
[2] https://blog.csdn.net/mdcire/article/details/79169407: ASCII,ANSI,UNICODE编码的一些知识

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值