Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29954360
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类:

2010-06-07 21:18:59

问题一:
使用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的一个内码。

阅读(847) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~