ios 文字編碼

2021-06-23 07:01:55 字數 1806 閱讀 8682

說到文字編碼,與檔案讀寫打過交道的軟體開發人員應該都知道,比如國際通用:utf-8編碼,anscii編碼,unicode編碼中文:gb2312,gbk日文,shift-jis等等。

說了這麼多無關緊要的話,技術是來解決實際問題的:

1。如何讀取utf-8編碼的文字檔案?

2。如何讀取gb2312(中文)的文字檔案?

3。如何讀取其它編碼檔案?

首先解決第乙個問題,

1。如何讀取utf-8編碼的文字檔案?

[nsstring stringwithcontentsoffile:filepath encoding:nsutf8stringencoding error:nil]

//當然也可以採用如下方法

//nsdata *data = [nsdata datawithcontentsoffile:filepath];

//nsstring *textfile  = [[nsstring alloc] initwithdata:data encoding:nsutf8stringencoding];

2。如何讀取gb2312(中文)的文字檔案?

/* note that in addition to the values explicitly listed below, nsstringencoding supports encodings provided by cfstring.

see cfstringencodingext.h for a list of these encodings.

see cfstring.h for functions which convert between nsstringencoding and cfstringencoding.

*/enum ;

note that in addition to the values explicitly listed below, nsstringencoding supports encodings provided by cfstring.

see cfstringencodingext.h for a list of these encodings. 

see cfstring.h for functions which convert between nsstringencoding and cfstringencoding. 

我的英文比較不好,但大意是看明白了,不在下面支援了編碼格式,在cfstringencodingext.h 裡頭檔案申明 。

我們通過finder的檔案查詢方法找到cfstringencodingext.h 。

仔細看看確實找到了kcfstringencodinggb_18030_2000 ( 我以為是kcfstringencodinggb_2312_80 ,實際上不是) 但是這個是cfstringencoding型別,我們需要nsencode的型別。

cfstring 和nsstring具有相同的記憶體結構,也是nsstring的重要補充,通過查詢cfstring的幫助文件,找到了這個方法 cfstringconvertencodingtonsstringencoding

nsstringencoding enc = cfstringconvertencodingtonsstringencoding(kcfstringencodinggb_18030_2000);

nsstring *textfile  = [nsstring stringwithcontentsoffile:filepath encoding:enc error:nil];

那麼第二個問題就解決了  

3。如何讀取其它編碼檔案?   

相信,通過以上的方法,第三個問題也可以很順利的解決了。

文字編碼簡介

字元編碼概述 下表,按照固定長編碼和可變長編碼進行分類。gb2312和gbk如果從與ascii碼相容的角度來講,也可以認為是可變長編碼。對於ascii碼以外的文字都是2位元組編碼。ucs和unicode在1991年已經統一 ascii編碼 前32個字元 0x00 0x1f 為控制字元 33到126 ...

文字編碼格式

編碼是用預先規定的方法將文字 數字或其他物件編成數碼。其他物件包括空字元 換行 空格等特殊含義的符號 總之,各種不同編碼格式解釋不同符號。處理不同編碼的資料使用不同編碼的解碼方式。常見的編碼格式有ascii ansi gbk gb2312 utf 8 gb18030和unicode等。ascii 碼...

關於文字編碼

原始檔用不同的編碼方式編寫,會導致 的執行結果不同。用ue編輯文件時,可以使用快捷鍵 ctrl h 檢視文字的字元編碼 可以設定顯示什麼編碼,acii碼 gbk big5 unicode等 在編譯程式時,可以指定字符集,檢視幫助資訊 man gcc,charset finput charset ch...