printf输出的中文是否GB2312编码?
最近在做海康摄像机的字符叠加,用的是HTTP请求方式http请求里面body内容是这样
<?xml version="1.0" encoding="UTF-8"?>
<TextOverlayList version="2.0" xmlns="http://www.hikvision.com/ver20/XMLSchema">
<TextOverlay>
<id>1</id>
<enabled>true</enabled>
<positionX>0</positionX>
<positionY>528</positionY>
<displayText>电站: 4412346</displayText>
</TextOverlay>
<TextOverlay>
<id>2</id>
<enabled>true</enabled>
<positionX>0</positionX>
<positionY>496</positionY>
<displayText>流量:3.321</displayText>
</TextOverlay>
</TextOverlayList>
里面“电站”两字被转换为HEX格式e7 94 b5 e7 ab 99,并不是GB2312编码
我用在线UTF-8转换“电站”,并不是这个结果
这个xml文本里面中文字是用了什么编码
用printf函数怎样输出这种编码,mdk编译器 <?xml version="1.0" encoding="UTF-8"?>
上面不是写得很清楚?
printf并不会改变原来的文本编码,要改你得先转换编码再调用printf airbox 发表于 2024-4-18 13:21
上面不是写得很清楚?
printf并不会改变原来的文本编码,要改你得先转换编码再调用printf ...
(引用自2楼)
是的,写的是UTF-8
但我用在线UTF-8转换电站两字,不是e7 94 b5 e7 ab 99 不用那么纠结,你把你的.c文件或.h文件用utf8保存,出来的自然就是utf8了。 qwerttt 发表于 2024-4-18 13:39
是的,写的是UTF-8
但我用在线UTF-8转换电站两字,不是e7 94 b5 e7 ab 99
(引用自3楼)
文件编码格式修改为utf-8,你肯定是转错了,utf-8就是这个值 初音之恋 发表于 2024-4-18 14:04
文件编码格式修改为utf-8,你肯定是转错了,utf-8就是这个值
(引用自6楼)
我看网上那些UTF-8转换工具都是电站
7535 7AD9
所以就不知道哪个是对了 本帖最后由 Himem 于 2024-4-18 14:18 编辑
qwerttt 发表于 2024-4-18 14:12
我看网上那些UTF-8转换工具都是电站
7535 7AD9
所以就不知道哪个是对了 ...
(引用自7楼)
这是utf16
https://www.toolhelper.cn/EncodeDecode/EncodeDecode Himem 发表于 2024-4-18 14:15
这是utf16
https://www.toolhelper.cn/EncodeDecode/EncodeDecode
(引用自8楼)
多谢,TKS
页:
[1]