4948|8

72

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

unicode编码乱码怎么解决啊? [复制链接]

我的设备装了WINCE,有一个串口跟电脑连接,电脑发送数据给WINCE,接收到的是乱码,不知道怎么解决?

最新回复

PC一般都是Ansi编码 而CE下一般都是Unicode编码 需要把Ansi转化为Unicode就可以了  详情 回复 发表于 2007-9-7 15:23
点赞 关注

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
WinCE支持Unicode  ,你把收到的数据进行一下从ANSI 到Unicode的转换试试。
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
多字节和宽字符之间转换的函数:mbstowcs, mbtowc, wcstombs, wctomb.
  mbstowcs---Convert a multi-byte(ANSI) string to wide character stirng(Unicode).
  wcstombs---Convert a wide character string to multi-byte string.
  WCHAR szwcBuffer[100];
  char szBuffer[100];
  char* lpszConvert = "ANSI String to convert";
  WCHAR* lpszwcConvert = _T("Unicode string to convert");
  int nChars;
  nChars = mbstowcs(szwcBuffer, lpszConvert, 100);
  nChars = wcstombs(szBuffer, lpszwcConvert, 100);
  //MultiByteToWideChar, WideCharToMultByte.        //用在code page(编码页)

  相关函数(ANSI Function, Unicode Function;):strcpy, wcscpy; strcat, wcscat; strcmp, wcscmp;
          strlen, wcslen; strchr, wcschr; strstr, wcsstr; _strrev, _wcsrev;

  //Convert an ANSI character to Unicode.
  //set the high byte in the Unicode character to zero and copy the ANSI character into the low byte
  WCHAR wC;
  char c = 'C';
  wC = MAKEWORD(c, 0);
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

4
 
在编写WinCE应用程序时应当注意的一个特征是Unicode。与用单个的8位数值来对一个字符进行编码的ASCⅡ码标准不同,Unicode是用一个16位数值来表示一个字符。因为世界上已知的字符都能用65536个可能的Unicode值中的某一个来表示,所以Unicode使得将程序移植到不同的国际市场非常简单。程序使用Unicode的结果是每一个字符占用两个字节而不是一个字节,于是字符串长度将是原来的两倍。程序员在假定字符串长度和缓冲区大小时必须很小心,现在已不能假定260字节的缓冲区能容纳259个字符,然后以0结束。所以在EVC开发程序时要分清字符的类型是Unicode 还是ASCⅡ。例如在WinCE系统下,表示文本文件的字符是char( ASCⅡ)型,但在文本框和对话中的字符是宽型(Unicode)的,要表示这类字符,就不能用char而要用TCHAR表示。它们之间可以通过函数进行转换。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

5
 
WideCharToMultiByte()和Wcstombs()就能实现把宽字节字符串转换成窄字节字符串。
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

6
 
看看串口设置,位宽,码率,等等,还有你发的数据编码
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

7
 
设置初始化数据~~~
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

8
 
WinCE支持Unicode ,若不可以多试几种编码.
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

9
 
PC一般都是Ansi编码 而CE下一般都是Unicode编码 需要把Ansi转化为Unicode就可以了
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
【TI有奖直播报名中】
直播主题:MSPM0 系列 MCU 再添新成员:高性能与高性价比的优秀组合 MSPM0G351x / MSPM0L111x
直播时间:4月24日(周四)上午10:00
直播奖励:好礼等您拿!

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 3

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表