中文 轉gbk編碼 go查詢中文首字母

2021-10-11 11:37:07 字數 595 閱讀 2139

常見的通訊錄都是按首字母來排序的,想象一下你要實現乙個首字母排序的功能,若是全英文,那將會是一件很輕鬆的事情,一般語言層面就會提供排序方法,亦或自己實現也不是難事,那如果存在中文呢?這個時候你就要獲取中文第乙個文字的拼音首字母了,今天聚焦一下如果獲取中文的首字母。

技術要點主要在找到中文和首字母的對映關係,正好gb 2312編碼對所收漢字進行了「分割槽」處理,16-55區為一級漢字,按拼音排序,因此使用gb 2312編碼可以滿足我們的基本需求。

獲取中文字串的第乙個字元

將第乙個字元編碼轉為gbk編碼(gbk編碼是對gb2312編碼的擴充套件,完全相容gb2312-80標準)

獲取第乙個字元的16進製制

將第乙個字元的16進製制轉十進位制

判斷第乙個字元十進位制落在gb 2312的某個字母區間即為某個字母

// 獲取中文字串第乙個首字母
上述完整demo可以戳這裡:demo

主要難點在於gb 2312編碼的結構,不懂的小夥伴可以去了解一下gb 2312編碼。

PHP中文GBK編碼轉UTF 8

iconv 和 mb convert encoding的區別 string mb convert encoding string str,string to encoding mixed from encoding 需要先enable mbstring 擴充套件庫,在 php.ini裡將 exten...

python中文編碼查詢 python中文編碼問題

在python中顯示中文注釋和輸出中文 a 中文 print a 返回錯誤 d python27 python.exe d test 中文.py process started file d test 中文.py line 1 syntaxerror non ascii character xe5 ...

Java 中文字串編碼之GBK轉UTF 8

寫過兩篇關於編碼的文章了,以為自己比較了解編碼了呢?結果今天又結結實實的上了一課。以前轉來轉去解決的問題終歸還是簡單的情形。即iso 8859 1轉utf 8,或者iso 8859 1轉gbk,gb2312之類。這種無損轉換,一行 就搞定。今天遇到了gbk轉utf 8。無論怎麼轉,都是亂碼。一 亂碼...