中文亂碼- 维基百科,自由的百科全书
文章推薦指數: 80 %
中文亂碼是電子資訊系統的中文無法正確顯示文字符號的一種現象,在中文內碼未有標準時情況尤其嚴重。
目录. 1 萬碼奔騰的年代; 2 中文Big5碼被誤認為EASCII; 3 UTF-8 ...
中文亂碼
語言
監視
編輯
本條目存在以下問題,請協助改善本條目或在討論頁針對議題發表看法。
此條目沒有列出任何參考或來源。
(2014年4月26日)維基百科所有的內容都應該可供查證。
請協助補充可靠來源以改善這篇條目。
無法查證的內容可能會因為異議提出而移除。
此條目論述以台灣地區為主,未必具有普世通用的觀點。
請協助補充內容以避免偏頗,或討論本文的問題。
此條目需要編修,以確保文法、用詞、語氣、格式、標點等使用恰當。
(2022年2月27日)請按照校對指引,幫助編輯這個條目。
(幫助、討論)中文亂碼是電子資訊系統的中文無法正確顯示文字符號的一種現象,在中文內碼未有標準時情況尤其嚴重。
目次
1萬碼奔騰的年代
2中文Big5碼被誤認為EASCII
3UTF-8與Big5的相互轉換
3.1嚙踝蕭亂碼問題
4簡體中文編碼體系與Unicode及UTF-8的相互轉換
5產生的問題
6參看
萬碼奔騰的年代編輯
在過去,由於繁體中文使用者缺乏一個具有號召力的內碼標準,不同使用者都會使用各自的標準。
比較普遍的是銀行由於主要使用IBM的商業電腦,很自然地亦選擇了IBM5550作為其內碼標準。
這些用5550內碼的檔案,一旦下載到微機上,若要轉寄與其他人使用,就要透過轉碼換成Big5,其他人才可以閱讀。
另一方面,在會計界有不少人都直接使用外國的專門軟體,而為免衝碼問題使畫面凌亂,不少的IT部門都把公司電腦的內碼換成倚天碼。
本來會計人員過去只是把計算結果列印而提交報告,並未有任何問題。
到後來隨著電子表格的興起,使用者才發覺到當公司與外界使用的內碼不同,會引起不少問題,才開始有人正視這問題。
中文Big5碼被誤認為EASCII編輯
歐洲生產的某些電腦並無法辨識Big5雙位元字碼的中文字元,相反的,他會把位於00到7F間的字碼視為ASCII,而80到FF間的字碼則視為EASCII,例如:
中文字
維
基
百
科
中
文
大
五
碼
Big5碼的高位/低位位元
BA
FB
B0
F2
A6
CA
AC
EC
A4
A4
A4
E5
A4
6A
A4
AD
BD
58
對應的ASCII/EASCII字元
º
û
°
ò
¦
Ê
¬
ì
¤
¤
¤
å
¤
j
¤
½
X
也因此,中文字串「維基百科中文大五碼」會顯示為亂碼「ºû°ò¦Ê¬ì¤¤¤å¤j¤ ½X」。
UTF-8與Big5的相互轉換編輯
隨著UTF-8的普及化,許多繁體中文的IRC頻道也逐漸從Big5轉變成UTF-8;然而在這種過渡時期中,仍然有不少IRC頻道是採用Big5的,所以使用者參與了新的頻道時,通常會想要先確定自己的字元編碼有沒有設錯,人們最常用的測試字眼不外乎:
編碼
內容
UTF-8
中文
測試
導航
Big5
銝剜��
皜祈岫
撠舘⏛
嚙踝蕭亂碼問題編輯
當一段大五碼文字被錯誤地以UTF-8解碼再編碼再以大五碼解碼,由於在被以UTF-8解碼時的無效字元被以Unicode的「未辨識字元(U+FFFD)」作為內碼記錄,而那替代字元的UTF-8編碼的十六進位為「EFBFBD」。
當那替代字元因為按UTF-8解碼會出現大比例的無效字元而令其大片大片地出現,進而在被UTF-8再編碼再以大五碼解碼後讀碼框取到UTF-8替代字元的編碼的第一個位元組和第二個位元組的十六進位「EFBF」解碼得到「嚙」字,接下來的讀碼框橫跨兩個UTF-8替代字元取到第一個UTF-8替代字元的第三個位元組和第二個UTF-8替代字元的第一個位元組的十六進位「BDEF」解碼得到「踝」字,再接下來的讀碼框取到第二個UTF-8替代字元的第二個位元組和第三個位元組的十六進位「BFBD」解碼得到「蕭」字,連起來就是「嚙踝蕭」。
這樣的情況反覆出現就令其中出現大量「嚙踝蕭」字樣。
並且由於在被以UTF-8解碼時所出現的各種無效字元與有效字元的各種組合,再以大五碼解碼後其中會有許多不是出現在「嚙踝蕭」子序列中的「嚙」、「蕭」字樣。
另外其他編碼的非UTF-8文字或非文字二進位資料被錯誤地以UTF-8解碼再編碼再以大五碼解碼也會如上產生嚙踝蕭亂碼,然而由於原位元組序列的特徵會部分地傳遞至以UTF-8解碼後所產生的中間階段亂碼,這樣因此由這些方式產生的亂碼跟大五碼文字被錯誤地以UTF-8解碼再編碼再以大五碼解碼所產生的亂碼便具有不同的特徵。
簡體中文編碼體系與Unicode及UTF-8的相互轉換編輯
在Unicode編碼與簡體中文編碼系統(例如GB2312、GBK、GB18030、CP936)轉換時,部分簡體中文編碼的文字在Unicode編碼中並不存在,Unicode會以「未辨識字元(U+FFFD)」作為內碼記錄,而對外以UTF-8表現為「0xEF0xBF0xBD」,當多個「0xEF0xBF0xBD」連續出現,而且以簡體中文編碼去解釋的話,就會被解析為多個「锟斤拷」。
(锟(0xEFBF)、斤(0xBDEF)、拷(0xBFBD))
產生的問題編輯
過往,亂碼所產生的問題,往往只是閱讀上的不方便,因為文字變成了亂碼,使使用者看不到文字的內容。
然而,現時由於電腦軟體保安設計的問題,亂碼隨時可能會使應用程式不正常關閉。
參看編輯
亂碼
取自「https://zh.wikipedia.org/w/index.php?title=中文亂碼&oldid=71200967」
延伸文章資訊
- 1utf8/utf-8 中文長度byte數 - jashliao部落格
utf8/utf-8 中文長度byte數. 資料來源: https://openhome.cc/Gossip/Encoding/UTF8.html. 如果用UTF-8 的方式儲存英文字母,則只會...
- 2Unicode字元轉換 - 線上工具
1. JS代碼使用Unicode加密; 2. 使用ASV和閃客精靈等Flash破解工具破解出來的中文部分也是Unicode編碼的; 3. CSS﹑JS﹑ ...
- 3UTF-8 - OpenHome.cc
Unicode 的實作方式之一UTF-8(8-bit Unicode Transformation Format),使用可變 ... 如果用UTF-8 的方式儲存英文字母,則只會使用一個位元組,...
- 4UTF-8转换工具
UTF-8编码在线转工具可以帮助你把中文转换成UTF-8编码,同时也支持把UTF-8编码过的还原成中文。
- 5中文亂碼- 维基百科,自由的百科全书
中文亂碼是電子資訊系統的中文無法正確顯示文字符號的一種現象,在中文內碼未有標準時情況尤其嚴重。 目录. 1 萬碼奔騰的年代; 2 中文Big5碼被誤認為EASCII; 3 UTF-8 ...