问题一:
使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这
几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方式的呢?
我很早前就发现Unicode、Unicode big endian和UTF-8编码的txt文件的开头会多出几个字
节,分别是FF、FE(Unicode),FE、FF(Unicode big endian),EF、BB、BF(UTF-8)。
但这些标记是基于什么标准呢?
今天我也遇到了这个问题!在WIN上面使用记事本另存文件成UTF-8之后再传输到LNUX平台用VI打开发现多了几个字符的???这些个字符是用来做什么的呢?
2.1、内码和code page
目前Windows的内核已经采用Unicode编码,这样在内核上可以支持全世界所有的语言文字
。但是由于现有的大量程序和文档都采用了某种特定语言的编码,例如GBK,Windows不可
能不支持现有的编码,而全部改用Unicode。
Windows使用代码页(code page)来适应各个国家和地区。code page可以被理解为前面提到
的内码。GBK对应的code page是CP936。
微软也为GB18030定义了code page:CP54936。但是由于GB18030有一部分4字节编码,而W
indows的代码页只支持单字节和双字节编码,所以这个code page是无法真正使用的。
CP是WIN的一个编码!CP936是GBK的一个内码。
阅读(838) | 评论(0) | 转发(0) |