找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 918|回复: 1
打印 上一主题 下一主题
收起左侧

51单片机utf8编码下汉字长度问题交流

[复制链接]
跳转到指定楼层
楼主
ID:138343 发表于 2024-6-11 11:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机型号为stc8h1k08, 在代码中定义汉字“中”
char *str="中"
然后查看str指向地址内容为0xe4 0xb8 0x00,即只占了两个字节的长度,与utf8编码下汉字占3个字节不符,请问各位有没有解决方法。

【注】正常情况下"中"urf8编码应该为0xe4 0xb8 0xad
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:404160 发表于 2024-6-12 11:13 | 只看该作者
使用UTF-8编码:如果你的C51芯片支持处理UTF-8编码,那么你可以将中文转换为UTF-8编码后存储在char类型的字符串中。然后通过相应的方法进行解析和显示。例如:  ```c #include   void main() {  char *str = "\xe4\xb8\xad"; // UTF-8编码下"中"对应的字节序列  printf("%s\n", str); // 打印UTF-8字符串  while(1); } ```  请注意,在使用这种方法时,确保你所用到的环境和设备都能正确地处理和显示UTF-8编码。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表