iOS編碼轉換

2021-06-18 16:09:18 字數 883 閱讀 4791

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 中文 的...