C 裡面的編碼問題

2021-04-17 06:40:45 字數 1338 閱讀 7953

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...