这两个字在Windows操作系统下都是chun鱼的chun,但是前者在其它系统下却可能变为乱码。
这是由于前者是GBK增补字符集PUA编码,而后者是Unicode标准非PUA编码。
受影响的有106个字符。由于不是所有字体都支持这106个PUA字符,导致了UTF-8在这106个字符上实际上并不跨平台。考虑到大多数操作系统都支持Unicode,如果要让文本跨平台使用,最好转换为非PUA编码。
转换时要注意,有6个字符需要映射到扩展平面Ext-B区域,需要两个UTF-16字符表示。
在其它操作系统下乱码的原因,主要是PUA区域除了GBK以外,也被Big5-HKSCS使用,操作系统可能会将这些字符显示为Big5-HKSCS字符。
判断这些字的方法也很简单,如果打出来的字符只有宋体没有雅黑,说明是PUA字符,建议用更通用的字符代替。
<code class="language-txt">PUA范围 对应的PUA字符 E76C-E76C E78D-E796 E7C7-E7C8 E7E7-E7F3 E815-E815 E819-E830 E832-E83A E83C-E854 E856-E864 PUA范围 对应的非PUA字符 E76C-E76C € E78D-E796 ︐︒︑︓︔︕︖︗︘︙ E7C7-E7C8 ḿǹ E7E7-E7F3 〾⿰⿱⿲⿳⿴⿵⿶⿷⿸⿹⿺⿻ E815-E815 ⺁ E819-E830 ⺄㑳㑇⺈⺋龴㖞㘚㘎⺌⺗㥮㤘龵㧏㧟㩳㧐龶龷㭎㱮㳠⺧ E832-E83A 龸⺪䁖䅟⺮䌷⺳⺶⺷ E83C-E854 䎱䎬⺻䏝䓖䙡䙌龹䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶龺 E856-E864 䲣䲟䲠䲡䱷䲢䴓䴔䴕䴖䴗䴘䴙䶮龻 扩展平面(UTF-16需保存为两个字符): E816 20087[𠂇] E817 20089[𠂉] E818 200CC[𠃌] E831 215D7[𡗗] E83B 2298F[𢦏] E855 241FE[𤇾] </code>
[修改于 7年8个月前 - 2017/04/03 22:19:04]
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |