c语⾔ascii中⽂乱码,科普unicode与ascii
中文字符unicode查询该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
1.多语⾔字符集和编码相关的参考规范之中最重要的有两个,⼀个是ISO/IEC 10646,⼀个是 Unicode 。
前者是专家委员会起草的国际标准。(前⾝还有两个不同的草案,因为中国⼤陆等⽅⾯的反对⽽否决。)
后者是⾏业协会组织的规范。ISO/IEC 10646正式版采⽤Unicode⽅案,之后的版本也和 Unicode 有基本的对应关系(虽然不⼀⼀对应),对普通应⽤来说基本可以作为同⼀个⽅案。
2.Unicode 定义了通⽤字符集(Universal Character Set, UCS) ,其中以代码点(code point) 作为逻辑上区分字符的单位。
由于历史原因,各种同源字符可能有不同的代码点,这⽅⾯汉字( CJKV unified ideographs ,中⽇韩越统⼀表意⽂字)问题尤其突出(相关⼯作称为Han Unification)。代码点可以由 U+X 的⽅式表⽰,X是16进制的⾃然数。
3.现⾏ UCS 代码点范围 U+0~U+10FFFF ,划分为 17 个平⾯,编号 0~16 ,每个平⾯有 65536 个代码点。
其中最常⽤的代码点⼦集是 0 号平⾯(代码点 U+0~U+FFFF ):基本多⽂种平⾯(basic mutilingual plane, BMP) ,之后是第⼀辅助平⾯:多⽂种补充平⾯(supplementary multilingual plane, SMP) 和第⼆辅助平⾯:表意⽂字补充平⾯(supplementary ideographic plane, SIP) 。第三⾄⼗三辅助平⾯尚未使⽤。第⼗四辅助平⾯称为特别⽤途补充平⾯(supplementary special-purpose plane, SSP) ,其中是控制字符。剩下的两个平⾯是私⼈使⽤区(private use area) 。
⼀个平⾯内的代码点可以被两个⼋元组(octet) 表⽰,也就是 16 位⼆进制整数。⼀般 C/C++ 实现使⽤的⼀个字节正好有 8 位,但不总是保证。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。