EZsoft 板


LINE

(本篇在某些细节处可能会稍有错误,还请指正) 系统字元编码 (ASCII、codepage) 很久很久以前,美国人做出电脑时只考虑了欧洲语系,没考虑到东方语系的问题 当时采用的国别 codepage 方法,编码只有 8 bit (1 byte),最多 255 个字 前面 127 个字元 (只用 7 bit) 是一些字母、符号和控制字元,相容 ASCII 标准 後面 127 个字元叫「高位元」(因为用到 8 bit),则是按 codepage 而不同 预设的 codepage 是 437,里面有西欧语言字母和表格框线的符号 http://en.wikipedia.org/wiki/Code_page_437 东亚语言双字元系统编码 (DBCS) 之後,东亚地区也有很多人在使用电脑了, 不能一直只有英文字,於是各国就开始发展各国语言的编码系统 因东亚文字数量太多,就采用两个 byte 来组成文字,理论上最多可有 65535 个字 (实际上当然不可能有这麽多,因为低位元部分要保留给英文字母和符号, 第一码只能用高位元,否则到时像「at」这样普通的英文字都被转成文字) 各国各有自己的编码,台湾香港 BIG5、日本 SJIS、中国 GB、韩国 KS 例如在 BIG5 里面「特」字的编码是 AF53,表示由十六进位的 AF、53 两码组成 AF (175) 是「>> 」,53 (83) 是「R」 在中文模式下,只要发现这两个字元组合在一起,系统就会将之转成「特」字 就因这原理,故常有一些英文软体画面的框线在中文模式下变成乱码 (eg. C4C4C4C4「────」 会变成「阐阐」) 而在 SJIS 里面,AF53 是「ッR」,在 GB 里面是「瘲(的简体)」 也就是说,同样的码用不同的系统来看会是不同的字 BIG5 台湾在那时其实是「万"码"奔腾」,各公司都推出自己的中文编码,没有统一 後来资讯公统一弄出了 BIG,到後来却成了主流 当时 BIG5 编码是非常急就章而推出的,选字根本就是依据教育部的常用字标准, 所以很多字都没被选入 (eg.堃、煊、喆) 但因变成主流,大家只好将就着用 (政府户政、图书管理等系统用不同的编码,所以字数多很多) Unicode 後来有一群人/公司开始发展 unicode,也就是将世界上主要的文字统一编码 只要电脑支援该编码、有相对应的字型,就可以看到所有文字 http://zh.wikipedia.org/wiki/Unicode unicode 下的编码方式和 BIG、GB、SJIS 等传统编码 (称为 DBCS) 有点不一样, 以目前最常用的 UTF8 来说,它按照文字的属性分为用 1 byte 组成的、 用 2 byte 组成的...到用 4 byte 组成的,普通的中文字多是 3 byte 组成 http://zh.wikipedia.org/wiki/UTF-8 有人认为中文、日文、韩文、越南文中很多汉字其实都一样或是差不多, 所以推动 CJKV,以将编入 unicode 中的汉字数量缩减 http://zh.wikipedia.org/wiki/CJKV 以上是讲古,以下开始讲到重点了 倚天中文 '80、'90 年代初,占市场比例最大的是「倚天」的中文系统 倚天当时在 BIG5 保留的「造字区」放了一些部首、符号、日文假名、俄文字母 在 DOS 时代很常被使用者用到,累积了不少用到那些字的文件资料 万恶的渊薮、一切问题的起源:微软 时代继续发展,万恶的微软推出 Windows,将正体中文编为 codepage 950 但是,没把前述造字区中的日文、俄文字母以及某些符号收进去! 之後一直到 Win2003,除了新增了欧元符号以外,还是没日文字 (没用 Vista ,不知道 Vista 的情形) http://zh.wikipedia.org/wiki/Big5 这就是今天发生这个问题的起源! 话说微软放了造字区的符号进正体中文 CP 950,但就是日文假名、俄文字母不收 简体中文 CP 936 甚至连日制汉字、常用正体字都弄进去了,CP 950 却是啥都缺 (Win9x 时代,大多是用汇入 eudc、font.24 等使用造字区的方式来解决) 到了 Win NT 之後,系统都采用 unicode 做内部处理, 如果应用软体也使用 unicode,那当然没有问题 但是对於一些仍用以前 DBCS 编码的软体,Windows 就使用 codepage 转换方式 CP 950 (正体中文) unicode CP 932 (日文) 特 (AF53) <-> 特 (U+7279) <-> 特 (93C1) 也就是:从 DBCS 软体贴到 unicode 的软体时,系统会做内码切换,反之亦然 但是,在繁体中文的 CP 950 中并没有日文假名,当然更没有日制汉字 所以中文 Windows 下,不支援 unicode 的软体碰到此类未对应的 unicode 字元时 转换会出问题,变成 ? 或 _,若档名就有这种字元时,则连该档案都无法开 (汉字部份则拜 CJKV 所赐,大多可以直接转换) 简单来说,若是有名称含日文假名的档案 因为 Windows 档案系统可处理 unicode,所以 Windows 下看得到日文 而不能读 unicode 的软体则只能看到 ? ,要开启档案时会读取失败 CP 932 (日文) unicode CP 950 (正体中文) あ (82A0) <-> あ (U+3042) -> ? Unicode 补完计画 (Unicode at Once) 「Unicode 补完计画」就是为了解决这问题而出现的 当初它的名字叫「Big5 Extension」,意思就是扩充 BIG5 缺少的部分 (结果改成现在名字後反而产生被人误会的问题) 它的做法: CP 932 (日文) unicode CP 950 (正体中文) あ (82A0) <-> あ (U+3042) <-> あ (C6E8) (U+F6F8) ↗ 它修改 unicode 对 CP950 的转换对照表 使 unicode 日文假名在非 unicode 状况下改去用原倚天的造字区编码 甚至还增加对应 unicode 日制汉字、简体中文、特殊正体中文字 (也是用造字区) Unicode 补完计画的问题点 由於对应的是 CP 950 没有使用到的区域 (原 BIG5/倚天 的造字区) 因此不支援 unicode 软体弄出来的字,在未装 uao 的电脑上看时会是空白 使用者若没注意到这点而大量用不支援 unicode 的软体处理档案,结果就发生惨案 unicode CP 950 (正体中文) (U+F6F8) <- (C6E8) ↖ 必须有装造字才看得到 要有装 uao 的电脑才能看到字 unicode CP 950 (正体中文) あ (U+3042) <- あ (C6E8) 当然,若都是在 unicode 环境下就完全没有问题了 unicode unicode あ (U+3042) <-> あ (U+3042) 只不过,目前不支援 unicode 的软体仍为数不少 或者用惯了的软体不支援 unicode,有支援的却又功能不符合需求、用不惯 按人的惰性来看,只要还有这种情况,uao 就仍会一直存在、就会有人去使用 如果真要使用 uao,就必须时常注意软体输出的文字是否变成 BIG5 了 否则虽然自己电脑看得到,但传出去在没有 uao 的电脑上看到的都是空白啊 可能发生的情形整理表 在有 uao 的系统 在无 uao 的系统 字码 支援 unicode 不支援 unicode 支援 unicode 不支援 unicode ----------- ------------ -------------- ------------ -------------- Unicode | あ (U+3042) | あ (U+3042) あ (C6E8) あ (U+3042) ? | | Unicode | (U+F6F8) | あ (U+3042) あ (C6E8) (U+F6F8) (C6E8) | | 必须有装造字才看得到 ↗ BIG5 | あ (C6E8) | あ (U+3042) あ (C6E8) (U+F6F8) (C6E8) | | 必须有装造字才看得到 ↗ SJIS | あ (82A0) | あ (U+3042) あ (C6E8) あ (U+3042) ? | あ (82A0) 注:U+F6F8 是位於 unicode 的造字区,通常没有字型会去对应 U+3042 才是 あ 的正式 unicode 编码 参考资料 http://uao.cpatch.org/index.php?%E5%8E%9F%E7%90%86%E4%BB%8B%E7%B4%B9 http://uao.cpatch.org/index.php?%E5%8E%9F%E7%90%86%E8%A3%9C%E5%85%85 -- 一次 一次 骑车安全帽 骑车安全帽 捷运 捷运 谤罪 谤罪 该 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.229.46.166
1F:推 bajiqa:想推一下 11/02 19:36
2F:推 localtrain:推 11/02 19:51
3F:推 zupi:推 11/02 19:59
4F:推 kyrc:推~ 11/02 20:01
5F:推 timmerix:推 11/02 20:10
6F:推 holanet:当初我的软体本来要安装 UAO,不过现在已经没必要了,因为 11/02 20:15
7F:→ holanet:经过长久的努力後,已经可以支援 Unicode。 11/02 20:16
8F:推 jyhfang:Good 11/02 20:17
9F:推 sarsman:GJ! 11/02 20:18
10F:推 alicekey:Unicode软体推齐计画 | http://unicode.twftp.org/ 11/02 20:17
11F:推 alicekey:有空的话,可以帮忙编辑一下。这是coca推的计画 11/02 20:18
12F:推 PTTFHK:感谢~ 虽然我看得有点头晕^^ 11/02 20:23
13F:推 holanet:忘了说我的网站:http://hola.idv.tw 虽有不足但仍在努力. 11/02 20:31
14F:推 rexx:推!!太通透了 11/02 20:35
15F:推 alicekey:好想给你两个m,可是没办法 11/02 20:36
16F:推 abccbaandy:讲解的很清楚,不过那些bug... 11/02 20:39
17F:推 filiaslayers:写的很详细,推一个 11/02 20:40
18F:推 CHCOOBOO:两个板主都给m 绝对不会变m^2 11/02 20:41
19F:推 sicao:请问有没有UTF-8跟unicode跟UTF-16等一干差别? 11/02 21:08
20F:推 Phcozy:虽然只看懂一半 但是还是大推! 11/02 21:27
21F:推 realmax:这篇是我看过整理最完整的,辛苦了 11/02 21:42
22F:推 DemonRing:push 11/02 21:54
23F:推 cole945:中文区里没有日文和俄文不是很正常吗?为什麽要万恶软体@_@ 11/02 21:54
因为按东亚处理资讯的情况来看,会用到日文的机会相当大,但微软却不将之放入 对岸的 CP 936 却完整放进去了,且不只假名而已,连日制汉字、正体中文字都有 虽说用 unicode 就没问题了,但仍有为数很多的不支援软体啊 不然怎会跑出 uao 来呢?
24F:推 HZYSoft:big5 相关历史有些不正确,unicode 介绍太简略 11/02 21:54
25F:→ HZYSoft:另外还有 MBCS 一词,或许也可以稍加解释 11/02 21:55
26F:推 ooxxman:dj;6wjo 11/02 22:17
27F:推 riverless:推 11/02 22:50
28F:推 KeeperOf7Key:推 11/02 23:02
29F:推 ddx:好东西,下次重灌电脑试试看。(之前是觉得2.4,2.5比较好) 11/02 23:04
※ 编辑: mstar 来自: 61.229.46.166 (11/03 10:00)
30F:推 mantohu:Excellent 11/03 10:40
31F:推 flylover:推 没看过整理这麽好的文章 11/03 20:24
32F:推 donkeychen:这篇好棒 推推 11/04 16:52
33F:→ donkeychen:我转到IME版唷 谢谢 11/04 16:53
donkeychen:转录至看板 IME 11/04 16:53
34F:推 yinjing:纯推不下(咦?) 11/08 18:17







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP