C/C++ 字符集探测

来源:百度知道 编辑:UC知道 时间:2024/06/07 20:02:41
在PHP中有一个库函数 mb_detect_encoding(),该函数可以探测出传入的字符串是何种字符集(虽然探测结果不一定是100%准确),而我在c/c++项目中(linux平台)需要用到字符集探测,而自己也不知道 mb_detect_encoding()的具体实现方案(或源码),不知哪位高手是否有 C/C++ 的函数或部分源码能探测字符集的?
若有,则另外送分200!
就是不知道是什么字符集,而要去判断字符集,要是能检测(探测)出是亚洲或中文的那一种都可以哈!不过谁知道mb_detect_encoding()的具体实现方案或源码呢??可以利用其原理来实现C/C++ 程序吧?

首先,谢谢各位的回答,但都不是我想要的结果,我找到一个java的,叫 Bytesencodingdetect.java的,打算直接用c++ 调用JAVA

给你一个简单的。
int CChineseCode::GetSystemParam()//0美国英语1台湾2中国简体
{
LCID lcid = GetSystemDefaultLCID();
if(lcid == 0x409)
{
//AfxMessageBox("美国英语");
return 0;
}

if(lcid == 0x404)
{
//AfxMessageBox("中国繁体");//台湾
return 1;
}

if(lcid == 0x804)
{
//AfxMessageBox("中国简体"); //指中华人民共和国
return 2;
}
return 0;
}

什么字符集?ANSI或是UNICODE好弄,最简单的就是取字符串的一个字符,然后sizeof就可以了,要是别的字符集我就不知道了
我感觉也就这样了,字符集总的来说就是单字节和双字节,你取一个字符用sizeof算一下

这个不是那么容易写的。
需要了解各种编码的特征。
是否有开源的东西可以借鉴一下?

PHP 我才入门 。。