字符與GBXX,UCS-2,utf-8編碼的相互轉換

在介紹轉換之前,先介紹一下常見的字符集:

1ASCII:這個大家應該都比較熟悉,他把英文字母、數字等256個字符編碼爲Ox00-OxFF

2GBXX:包括GB2312、GBK、GB18030,這裏面主要增加了對漢及漢字標點等的編碼。其中GB18030>GB2312>ASCII完全向下兼容。GBK是在GB2312上的改進(增加了對更多漢字的編碼)。對於記事本(簡體中文版)的默認編碼方式就是GB2312,這就是他能識別漢字和英文字母的原因。

3BIG5:繁體中文字符集標準,這個就不多說。

4UNICODE:provides a unique number for every character爲出現過的每一個字符提供編碼,用四個字節來表示。(這其實是指UTF-32).並且UTF-16和UTF-8也是根據UTF-32轉化而來。因此對與字符集UNICODE有UTF-32,UTF-16,UTF-8三種編碼方案。windows系統採用UTF-16(2個字節對於絕大數情況已經足夠)。UTF-8主要用於歐洲和北美,IETF要求所有的網絡協議都必須支持UTF-8編碼。UTF-32用4個字節表示一個字符;UTF-16用2個字節表示小於Ox10000(UTF-32值)的字符(漢字的範圍是Ox4E00-Ox9FA5 ,OxF900-OxFA2D),其餘用4個字節。UTF-8採用變字節編碼方案,1-6字節不等。

UTF-16可看成是UCS-2的父集。在沒有輔助平面字符(surrogate code points)前,UTF-16與UCS-2所指的是同一的意思。但當引入輔助平面字符後,就稱爲UTF-16了。現在若有軟件聲稱自己支援UCS-2編碼,那其實是暗指它不能支援在UTF-16中超過2bytes的字集。對於小於0x10000的UCS碼,UTF-16編碼就等於UCS碼。


下面進入主題,字符與GBXX,UCS-2,utf-8編碼的相互轉換?

用的工具是記事本和能以二進制打開文件的字符編輯器。

記事本在保存時可以選擇ANSI(簡體中文下指的是GBK),UNICODE(UTF-16小尾端),UTF-16大尾端、UTF-8這幾種編碼方式。


1>字符轉化爲相應的編碼:打開記事本,寫下字符,另存存時選擇相應的編碼方式(你想查看的)。然後用二進制工具打開即可。

2>編碼轉化爲相應的字符:打開記事本,另存時選擇相應的編碼。用二進制工具打開後用編碼替代裏面的二進制位,然後打開記事本即可。

下面我們就練一下,在百度知道上看到有人上傳的編碼如下CE D2 B6 D4 C4 E3 D6 C1 CB C0 B2 BB D3 E5 CE D2 BB E1 B5 C8 C4 E3 B5 C4 D2 BB B1 B2 D7 D3 B0 AE BE FD D2 BB B1 B2 D7 D3 C3 F7,需要轉化爲字符。

首先確定編碼類型,如何確定,不同的編碼範圍不同,所佔字節不同,但是這都不好用。。。一個一個的試吧,首先用默認方式,建立一個文本文檔,已默認方式保存。然後用二進制工具打開,替代二進制位


然後保存,再用記事本打開。


OK,搞定,看來用的是GBK編碼,2個字節表示一個漢字。

使用這種方式可以很容易在字符與GBK,UTF-16,UTF-8之間轉化。如果需要字符與UTF-16

之間轉化有一種更快捷的方士:利用word中的ALT+X快捷鍵可以快速的進行雙向轉化。不妨一試!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章