作者zlw (洞房不败)
看板Programming
标题[问题] Big5跟UTF-8不需要考虑endian跟相容ASCII有关吗?
时间Mon Jan 26 14:45:56 2009
大家好
我对於 Big5 似乎不需要考虑 endian 这点感到疑惑,想请教一下。
--
比如AB两个字,其 ASCII Code 为 41 42 (16进位),而 Unicode codepoint 为 U+0041
跟 U+0042。
如果 Little Endian 的电脑存一份内容为AB的文件,编码成UTF16,因为 UTF16 基本单位
是 2 Bytes,所以不考虑BOM情况下,内容最後会成 41 00 42 00 (16进位)
当传送到 Big Endian 的电脑时,解读出来的内容就变成 U+4100 U+4200 两字,而非AB
--
我的问题是,Big5也以 2 Bytes 为一个字的基本单位,但似乎不需要考虑endian。这是
因为Big5向下相容ASCII,所以CPU只会当成一堆ASCII去存,跟UTF-8一样,基本单位变成
1个byte 才可以不用考虑endian?
等到开启文件内容,比如为 A7 41 41 (16进位) 时,记事本逐一搜寻发现A7大於ASCII
理论上最大的7F时,才更改判别此文件是所谓的 DBCS?(这我不太懂,不确定)
然後因为Windows当时设定,在控制台->地区及语言选项->进阶->非Unicode程式的语言
里面是设成中文(台湾),所以才进一步判定为Big5编码,并且显示出繁体中文「你A」来
整个的流程、原理是这样吗?
--
另外有些不支援Unicode的软体,平常只能读英文及繁体中文的目录,但是把「非Unicode
程式的语言」这个设定改成韩文後,就能开启韩文命名的目录。我想查这部份的资料,
为什麽会有这种状况,以及要如何改善,想请教有什麽关键字?
谢谢大家。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 124.8.136.176