字串編碼轉換 GBK utf8

2022-08-14 13:12:13 字數 846 閱讀 7347

*pagedata;

如果網頁編碼是utf-8的,可以這麼轉換為字串:

*pagesource =[[

alloc] initwithdata:pagedata encoding:nsutf8stringencoding];

如果網頁是gbk(或者gb2312),用utf8轉換的話,pagesource返回nil。這時需要使用gbk編碼做轉換,但是nsstringencoding不含gbk,怎麼辦?用另乙個方法處理一下:

nsstringencoding gbkencoding = cfstringconvertencodingtonsstringencoding(kcfstringencodinggb_18030_2000);

*pagesource =[[

alloc] initwithdata:pagedata encoding:gbkencoding];

為什麼可以這麼處理?在nsstring.h(按住command,雙擊nsstringencoding即能檢視),對nsstringencoding的定義中,注釋這麼寫著:
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.

PHP 編碼轉化 GBK utf 8

iconv 字串按要求的字元編碼來轉換 iconv有bug 碰到一些生僻字就會無法轉換,當然了配置第二個引數時,可以稍微彌補一下預設缺陷,不至於無法轉換是截斷,用法如下 iconv utf 8 gb2312 ignore data 這樣碰到生僻字轉換失敗時,它就會忽略失敗,繼續轉換下面的內容。ico...

Python字元編碼轉碼之GBK,UTF8互轉

1 須知 在pythonwww.cppcns.com 2中預設編碼是 ascii,而在python 3中預設編碼是 unicode unicode 分為utf 32 佔4個位元組 utf 16 佔兩個位元組 utf 8 佔1 4個位元組 所以utf 16 是最常用的unicode版本,但是在檔案裡存...

字元格式(gbk utf8等)

gbk就是在儲存你的帖子的時候,乙個漢字占用兩個位元組。外國人看會出現亂碼,此為我中華為自己漢字編碼而形成之解決方案。utf8就是在儲存你的帖子的時候,乙個漢字占用3個位元組。但是外國人看的話不會亂碼,此為西人為了解決多位元組字元而形成之解決方案。ascii iso 8859 1 是鼻祖,最簡單的方...