unicode 轉換成 gbk
nsstring *string= @"中國chn"
nsstringencoding gbkencoding = cfstringconvertencodingtonsstringencoding(kcfstringencodinggb_18030_2000);
char *cstring = [string cstringusingencoding:gbkencoding];
或者:nsdata *data = [string datausingencoding:gbkencoding];
char *cstring = (char *)[data bytes];
轉換時,有些字元可能不相容,比如:¥、£、~(在ios5.0和6.0中鍵盤的編碼不一樣),需要做特殊處理。
需要注意的是:
nsstring中:
- (nsuinteger)length
返回unicode字元數,包括單個字元組成的字串行,因此不能用此方法確定字串在列印時是否可見以及顯示的長度。預設採用big-endian方式儲存
c語言中strlen:
返回字串的長度(非編碼以後的字元數,而是編碼占用的位元組數),不含'\0'
int 強制型別轉換 char
char佔乙個位元組對應的十進位制整數範圍為0~255
當int最大超過255時,只會保留低位,捨棄高位.
即:(char)(value%256) == (char)value
gbk採用雙位元組編碼
utf-8採用變長編碼,最大長度4位元組
ascii:128個字元,其中33個無法顯示
unicode編碼:(相容iso 8859-1 前256個字元)
0~0x10ffffff
(編碼轉換)轉換檔案編碼
目錄 1 轉換編碼種類 2 轉編碼操作步驟 1 轉換編碼種類 可轉為 utf 8 最常用 ansi unicode unicode big endian 這四類編碼 2 轉換編碼操作步驟 1 將檔案以記事本方式開啟 注意 如果不可以請先將檔案轉換為 csv 檔案,再以記事本開啟 2 點選記事本左上方...
iOS學習筆記 字串編碼轉換
本章內容主要是從解析網頁內容產生的。1 2 pagedata 如果網頁編碼是utf 8的,可以這麼轉換為字串 1 pagesource alloc initwithdata pagedata encoding nsutf8stringencoding 如果網頁是gbk 或者gb2312 用utf8轉...
ios 文字編碼
說到文字編碼,與檔案讀寫打過交道的軟體開發人員應該都知道,比如國際通用 utf 8編碼,anscii編碼,unicode編碼中文 gb2312,gbk日文,shift jis等等。說了這麼多無關緊要的話,技術是來解決實際問題的 1。如何讀取utf 8編碼的文字檔案?2。如何讀取gb2312 中文 的...