檔案系統與utf8編碼

2021-04-30 08:41:13 字數 543 閱讀 5919

這裡列一下,在不同檔案系統上,字元編碼會有什麼不同。

這裡以中文字:嚴,和西歐洲文字:ç  為例,作為usb上檔名來說明:

mount引數

嚴(unicode為 4e 25)

ç (unicode為 00 e7)

ntfs/vfat

-o iocharset=utf8

e4 b8 a5 (三位元組 utf8 編碼)

c3 a7(兩位元組 utf8編碼)

ext3

n/ae4 b8 a5 (三位元組 utf8 編碼)

e7(windows-1252編碼)

從上面的**可以看出:

1、ntfs/vfat 使用 iocharset=utf8 是,讀到的內容,都是用 utf8 表示的。

2、ext3中,mount中無 charset 引數。

這樣會出現 ext3 中,中文是使用的 utf8 表示的,而西歐文字,卻是windows-1252編碼的。

這樣要正確顯示 ext3 上的西歐文字,就需要將其用 windows-1251 轉碼後,才能正確顯示。

介紹utf8編碼

utf8並不算是一種電腦編碼,而是一種儲存和傳送的格式,如前所述,每個unicode ucs字元都以 2或4個bytes來儲存,看看以下的比較 以 i am chinese 為例 用ansi儲存 12 bytes 用unicode ucs2儲存 24 bytes 2 bytes header 用uc...

UTF8編碼 解碼

參考文件 rfc3629標準.對於任意乙個字,都可以用乙個唯一碼 unicode碼,由標準編制 表示,在應用過程中,需要對碼進行編碼.常用的編碼方式為utf 8.utf 8採用類似於ip位址分配的機制.即對於不同範圍的unicode碼,採用不同的模板進行編碼.流程概述為 2.1 查表獲取unicod...

ANSI與UTF 8編碼轉換

將ansi編碼裝換為utf 8在windows mfc環境下測試下面的 static int ansi2utf8 in const char csrc,out char cdest 以下 將utf 8 轉換為gb2312 intutf8togb2312 const char sourcebuf,si...