字串與編碼

2021-04-30 20:31:04 字數 1191 閱讀 4866

首先應該把位元組陣列看成是string的載體。  

dot   net使用的字串string是unicode編碼的;它也是以unicode編碼的形式顯示字串。  

以下是用自己語言對幾個常用函式的說明:  

(自己總結的,反正看不明msdn)  

bytes=system.text.encoding.unicode.getbytes(str)  

作用:把str的載體作unicode->unicode的編碼轉換--也就是沒有對載體作任何的轉換。因些使用此函式可以得代表該string載體的位元組陣列。  

str=system.text.encoding.unicode.getstring(bytes)  

作用:對位元組陣列作unicode->unicode的編碼轉換--即沒有轉換,把經過轉換後的位元組陣列作為str的載體。  

bytes=system.text.encoding.utf8.getbytes(str)  

作用:把str的載體作utf8->unicode的編碼轉換。返回的是經過轉換後的字元陣列  

str=system.text.encoding.utf8.getstring(bytes)  

作用:對位元組陣列作gb2312->unicode的編碼轉換,把經過轉換後的位元組陣列作為str的載體。  

bytes=system.text.encoding.getencoding("gb2312").getbytes(str)  

作用:把str的載體作gb2312->unicode的編碼轉換。返回的是經過轉換後的字元陣列  

str=system.text.encoding.getencoding("gb2312").getstring(bytes)  

作用:對位元組陣列作gb2312->unicode的編碼轉換,把經過轉換後的位元組陣列作為str的載體。  

如此類推  

bytes=system.text.encoding.getencoding("***").getbytes(str)  

作用:把str的載體作***->unicode的編碼轉換。返回的是經過轉換後的字元陣列  

str=system.text.encoding.getencoding("***").getstring(bytes)  

作用:對位元組陣列作***->unicode的編碼轉換,把經過轉換後的位元組陣列作為str的載體。 

字串與編碼

這幾個月作手機簡訊的專案,碰到了很多字元編碼的問題,真頭痛。經過多番資料的搜尋 親手嘗試和高人的指點,現在好像沒那麼迷惘了。現作了一些總結跟大家分享 有誤之處請指點 首先應該把位元組陣列看成是string的載體。dot 使用的字串string是unicode編碼的 它也是以unicode編碼的形式顯...

字串與編碼

一句話建議 涉及相容性考量時,不要用記事本,用專業的文字編輯器儲存為不帶 bom 的 utf 8。如果是為了跨平台相容性,只需要知道,在 windows 記事本的語境中 gbk 等遺留編碼最麻煩,所以除非你知道自己在幹什麼否則不要再用了。utf 16 理論上其實很好,位元組序也標明了,但 utf 1...

字串與編碼

為什麼需要編碼呢?因為計算機只能處理數字,而不能處理字元和字串,所以要將字元用十進位制數字來表示,然後轉換成二進位製供計算機計算。此處介紹位元組 byte 和位 bit 的概念 計算機的最小儲存單位為位,儲存一位二進位制數0或者1。而我們不用位來作為計算機中資訊含義的最小單位是因為位常常不能表示乙個...