首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

WideCharToMultiByte(char *dec, const wchar *src)//底层是这样实现的吗

2013-09-05 
WideCharToMultiByte(char *dec, const wchar *src)//底层是这么实现的吗?void WideCharToMultiByte(char

WideCharToMultiByte(char *dec, const wchar *src)//底层是这么实现的吗?
void WideCharToMultiByte(char *dec, const wchar *src)
{
    int  i;
    int len = lstrlen(src);
    for (i = 0; i < len; i++)
           dec[i] = (char)src[i];
    dec[i] = 0;
}
[解决办法]
都是有固定的编码规则的,像utf-8的字符长度都不一样,强制转肯定不行。

一般作为基础的是Unicode,其他编码方式在Unicode基础上进行一定规则的变换,或至少会保存与Unicode相同字符的编码对应关系。所以2种编码方式要转换,一般需要先转换成Unicode,再从Unicode转换成其它。

最简单的转换方式就是查表,同一个字符,在不同的编码规则之下,有不同的二进制值和数据宽度。
[解决办法]

引用:
都是有固定的编码规则的,像utf-8的字符长度都不一样,强制转肯定不行。

一般作为基础的是Unicode,其他编码方式在Unicode基础上进行一定规则的变换,或至少会保存与Unicode相同字符的编码对应关系。所以2种编码方式要转换,一般需要先转换成Unicode,再从Unicode转换成其它。

最简单的转换方式就是查表,同一个字符,在不同的编码规则之下,有不同的二进制值和数据宽度。

与其说最简单的转换方式是查表,倒不如说唯一的转换方式就是查表吧,字符顺序这玩意除了查表根本没别的办法……

热点排行