亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 8961 | 回復(fù): 11
打印 上一主題 下一主題

[C] linux c/c++ 字符串含中文的問題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-04-06 21:33 |只看該作者 |倒序瀏覽
大家好,請教大家一個問題,就是怎樣確定一個字符串的編碼,注意不是文件的,就是一個字符串。

是這樣的,我從網(wǎng)絡(luò)上收到一個數(shù)據(jù)包(通常是瀏覽器發(fā)過來的),其中有可能包含中文,
這樣在處理時便會出問題,現(xiàn)在是要把網(wǎng)絡(luò)上來的數(shù)據(jù)都轉(zhuǎn)成utf-8編碼。

所以請問對大家,有什么方法可以較快的確認(rèn)一個字符串(就是網(wǎng)絡(luò)上的數(shù)據(jù)包)的編碼方式嗎?

因為只有知道了字符串的編碼方式,才能有效的對其進(jìn)行 utf-8 編碼,謝謝。。

環(huán)境為linux ,語言 C/C++

謝謝!

論壇徽章:
0
2 [報告]
發(fā)表于 2011-04-06 22:30 |只看該作者
網(wǎng)上找到一些資料,先擺這,明天再研究了,大家有什么想法就說一下

以下來源:http://topic.csdn.net/u/20090204 ... a-42e211015e12.html 96樓。

查了一下,找到了這個猜字符編碼的算法代碼,叫chartdet 它是mozilla firefox使用的自動字符集探測算法

這個算法的最初作者是frank Tang,C++源代碼在http://lxr.mozilla.org/mozilla/source/intl/chardet/,可以從http://www.mozilla.org/projects/intl/chardet.html得到更多關(guān)于這個算法的信息。


jchardet是mozilla自動字符集探測算法代碼的java移植,其源代碼可以從sourceforge下載

論壇徽章:
5
技術(shù)圖書徽章
日期:2013-11-07 13:21:58技術(shù)圖書徽章
日期:2013-12-07 10:34:46技術(shù)圖書徽章
日期:2014-04-23 08:50:31雙魚座
日期:2014-09-16 09:12:34亥豬
日期:2015-01-23 13:37:49
3 [報告]
發(fā)表于 2011-04-06 23:43 |只看該作者
本帖最后由 nketc 于 2011-04-06 23:45 編輯

icu 里面也有猜測編碼的方法。

瀏覽器傳過來的話,html標(biāo)簽里有啊,lz干嘛不用?

論壇徽章:
1
黑曼巴
日期:2020-02-27 22:54:26
4 [報告]
發(fā)表于 2011-04-07 08:45 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽

論壇徽章:
0
5 [報告]
發(fā)表于 2011-04-07 14:09 |只看該作者
icu 里面也有猜測編碼的方法。

瀏覽器傳過來的話,html標(biāo)簽里有啊,lz干嘛不用?
nketc 發(fā)表于 2011-04-06 23:43


謝謝,瀏覽器里有嗎?
accept-encoding字段?這個字段有時候是 */*   ,沒法用吧?

論壇徽章:
0
6 [報告]
發(fā)表于 2011-04-07 14:10 |只看該作者
本帖最后由 FightForWin 于 2011-04-07 14:14 編輯
用libconv
如果已經(jīng)是utf-8編碼,再轉(zhuǎn)是不會變的,然后比較2個字符串是否相當(dāng)。
c/unix 發(fā)表于 2011-04-07 08:45



    謝謝,我查了一下,libconv是用于已知原字符串編碼的轉(zhuǎn)換,但我現(xiàn)在關(guān)鍵是不知道源字符串的編碼,這樣也就無法確認(rèn)調(diào)用哪個編碼轉(zhuǎn)換函數(shù)。
有這方面的經(jīng)驗不?請指教一下。
謝謝。

論壇徽章:
2
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11
7 [報告]
發(fā)表于 2011-04-07 15:59 |只看該作者
可以采用假設(shè)測試算法:先假設(shè)一種算法然后將一段內(nèi)容轉(zhuǎn)換為unicode,然后再轉(zhuǎn)換回,比較結(jié)果與原來的編碼,如果相同,則假設(shè)成立。如果選取的內(nèi)容為全部,則可以保證100%正確,但是部分選取則可能假設(shè)失敗。

論壇徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:56:11
8 [報告]
發(fā)表于 2011-04-07 17:26 |只看該作者
猜測

論壇徽章:
5
技術(shù)圖書徽章
日期:2013-11-07 13:21:58技術(shù)圖書徽章
日期:2013-12-07 10:34:46技術(shù)圖書徽章
日期:2014-04-23 08:50:31雙魚座
日期:2014-09-16 09:12:34亥豬
日期:2015-01-23 13:37:49
9 [報告]
發(fā)表于 2011-04-07 17:54 |只看該作者
回復(fù) 5# FightForWin


    <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
是html嗎?這個標(biāo)簽里有。

論壇徽章:
0
10 [報告]
發(fā)表于 2011-04-07 19:22 |只看該作者
回復(fù)  FightForWin


   
是html嗎?這個標(biāo)簽里有。
nketc 發(fā)表于 2011-04-07 17:54



    你好,非常感謝。
但這種形式的包好像只存在于服務(wù)器的應(yīng)答包里,客戶發(fā)出的請求包并不包含這些數(shù)據(jù)。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP