1 .
net中的string只有unicode一種。所以編碼格式的位元組序列轉換成string時最終都是以unicode表示。
2 system.text.encoding.default
是取系統的當前ansi**頁的編碼,即當前系統的編碼。(在我們的機子上一般都是"gb2312")這就每次用default讀取檔案流都正確,且必須用default讀取才正確的原因----其實用encoding.getencoding("gb2312")也一樣。
3 string-->byte(unicode-->other)
//string 轉成default編碼的byte,編碼採用default,我們機器上大部分為gb2312
stringa=
"china中文亂碼";
byte
abyte
=system.text.encoding.default.getbytes(a);
byte-->string(other-->unicode)
stringb =
null
;byte
bbyte
=null
;bbyte
=new
byte
[100
];printstr(abyte,bbyte);
//得到byte
//system.text.encoding ed= system.text.encoding.getencoding("gb2312");
system.text.encoding ed
=system.text.encoding.default;
//編碼,和用gb2312一樣
b =
ed.getstring(bbyte);
//取得正確編碼後的string
streamreader(string path, system.text.encoding encoding]),response.charset,這就相當於你告訴系統byte是什麼編碼,這時候.net用你
指定的編碼方式去解碼,然後轉換成unicode編碼方式的string.
也就是說,不管何時,我們所指定的編碼都只是指byte。
即encoding.utf8.getstring(byte buffer)是告訴系統buffer的編碼是utf8。
byte buf = encoding.utf8.getbytes(string str)是告訴系統返回的buf編碼方式是utf8。
位元組序是按指定編碼方式編碼,它有乙個特定的編碼方式,但它本身是中性的,不含有任何編碼資訊。
C語言裡面的指標問題
一 變數與指標 1.變數 c語言中每次宣告乙個變數,則內存在會申請乙個該變數型別應該佔據的空間.假設int 型別佔四個位元組 不同系統的位元組數不同 那麼語句 int a a 10 即在記憶體中申請了四個位元組的空間,並將其命名為 a,其值為 10.2.變數位址 int型變數 a在記憶體有乙個具體的...
dos裡面編碼設定問題
在dos下執行乙個php檔案的時候,由於輸出檔案文字是utf8編碼,所以顯示出現了亂碼,顯示效果如圖 www.2cto.com 重新設定了一下dos的編碼,命令 chcp 65001 在命令列標題欄上點選右鍵,選擇 屬性 字型 將字型修改為true type字型 lucida console 然後點...
電子郵件鏈結裡面的URL編碼
電子郵件鏈結裡面的url編碼 網頁上,為了方便使用者反饋資訊,超級鏈結的一種就是電子郵件鏈結,電子郵件鏈結可以預設標題 正文內容,上次有同事問我如何讓鏈結中的正文內容可以換行,首先想到的是 試過,沒有效果,才發現因為是鏈結中的內容必須經過url編碼的,例如換行的url編碼為 0d 0a,空格的url...