-
Notifications
You must be signed in to change notification settings - Fork 234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
error: 序列化char时候出错 #208
Comments
其中char是 0xa1, ascii码数字为161,并不是有效的ASCII码数字。然后 0x11,是17,是控制字符,这些字符不能正常显示也是合理的吧 |
也许你需要的是显示数字的 int8_t这种类型?但是似乎目前还没有支持,因为担心其与char的兼容性。 |
是的 我实际需要的是 uint8_t这种类型。 这种类型在和嵌入式设备通信中经常用到。希望能够支持上。 |
|
这里应该不只是不能显示。还会导致 输出的字符串不满足json 的规则。无法解析。 或者不支持的情况下,直接跳过或者空。 |
@RichardsATcn 有其它什么json 库支持这种输出吗? |
uint8_t u8 = 0x22; // => { "U8": "0x22"}
uint8_t u8Buf[10] ;// => { "U8BUF": "064|base64 str"}
uint8_t u8Buf[10] ; // => { "U8BUF": "016|AABBCC"} |
我尝试支持一下uint8吧那,如果支持了uint8你的问题可以得到解决了吗? |
我刚刚测试了一下,gcc和clang可以区分开int8_t 、uint8_t与char的,windows应该也可以!但是我不知道您的编译器是否可以, |
支持了uint8和int8,可以拉取最新的代码试试看 |
好的,您真是迅速呀。 我的编译器是 vs2019 和 mingw 8.1.0 |
简述:
我写了一个结构体测试,其中有一个char类型的成员。
通过结构体序列化转换得到了一个错误的json。少了一个 ‘,’。
{"U8":","U16":22,"U32":50,"U64":100,"DOUBLE":2E0,"FLOAT":-1E0,"S8":"","S16":-16,"S32":-32,"S64":-64,"STR":"ABC"}
代码如下
另一个例子,似乎关于char,这个类型就存在问题。
![1690723464166](https://private-user-images.githubusercontent.com/8119891/257053745-349d3d1c-4f41-4053-8a9b-cbaba7bebc5d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNzI5MDcsIm5iZiI6MTczOTM3MjYwNywicGF0aCI6Ii84MTE5ODkxLzI1NzA1Mzc0NS0zNDlkM2QxYy00ZjQxLTQwNTMtOGE5Yi1jYmFiYTdiZWJjNWQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTJUMTUwMzI3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZWYxOWQ5ZWNhNWIzMjY4YjgxYjAxOTdhNGUxYTAwZDc1YzA1YzdmODVhNTE1MWNkZWI4YTY1YjY3OWI5ODk5NCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.In_aGackzN-RTMv3185fPY4xqStkd71FaA-w8ghboHo)
The text was updated successfully, but these errors were encountered: