如何将ascii字符串转换成中文

一介布衣萧萧 2011-06-15 04:40:21
有一串ASCII字符串,每两个构成一个中文字,请问我该怎么把它转成中文呀?如:"e6R0"这个ASCII字符串,其对应的是“收到”两个中文字。现在我有ASCII字符串,请问该怎么转成中文呀?中文的转成ASCII字符串的我已经实现了,就是先把中文转成Unicode,然后把Unicode转成ASCII码。但是反过来怎么弄呢?请教各位大哥大姐啦!最好有个例子!小弟先谢谢大家了
...全文
1270 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ywmen 2011-06-17
  • 打赏
  • 举报
回复
恭喜。。。。
一介布衣萧萧 2011-06-16
  • 打赏
  • 举报
回复
搞掂了,虽然不是用楼上各位的方法,不是还是要感谢各位的支持。其实要把ASCII编码的字符串转换成中文很简单,只要把ASCII字符串强制成WCHAR类型就行了。例如:
ASCII转中文:

CString chinese;
// 把ASCII字符串强制转成WCHAR类型即可把对应的ASCII字符转成中文
WCHAR *wch = (WCHAR *)ascii;
int len = wcslen(wch);
for(int i=0; i<len; i++){
chinese.AppendChar(wch[i]);
}

在这里顺便说说中文转ASCII的方法,其实也挺简单的,这个我也是突然间发现有这么简单的方法:

LPCWSTR chinese = _T("哈哈哈,搞掂了");
char *ascii = (char *)chinese;
jq_whh 2011-06-16
  • 打赏
  • 举报
回复
其它编码方式对照修改就可以了


Encoding gb = System.Text.Encoding.GetEncoding("gb2312");
byte[] bytes = new byte[2] { 0xba, 0xc3 };
string str = gb.GetString(bytes); // 转为Unicode
str = "好";
bytes = gb.GetBytes(str); // 转为gb2312编码的ASCII序列
一介布衣萧萧 2011-06-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jq_whh 的回复:]

什么语言环境啊
[/Quote]

在wince6上使用,中文版的,编译器是用VS2005的
jq_whh 2011-06-15
  • 打赏
  • 举报
回复
什么语言环境啊
一介布衣萧萧 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 huoxin2009 的回复:]

直接用函数吧
[/Quote]
这个引用啥函数呀,能说明白点吗?最好有个例子
一介布衣萧萧 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ywmen 的回复:]

你有函数把ASCII转化为中文,就没有函数把中文转化为ASCII么?帮顶
[/Quote]
老大,你看反了吧!我是需要ASCII转为中文的,中文转ASCII的函数我也是凑出来的。。。关键是我从ASCII转中文的时候,试过把ASCII转成unicode,之后由unicode转中文就失败了,一直不成功,也不知道咋整。。
ywmen 2011-06-15
  • 打赏
  • 举报
回复
你有函数把ASCII转化为中文,就没有函数把中文转化为ASCII么?帮顶
huoxin2009 2011-06-15
  • 打赏
  • 举报
回复
直接用函数吧

19,504

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧