一个字节的缓冲区是否被签名或无符号的char缓冲区?(Should a buffer of bytes be signed or unsigned char buffer?)

编程入门 行业动态 更新时间:2024-10-19 14:27:10
一个字节的缓冲区是否被签名或无符号的char缓冲区?(Should a buffer of bytes be signed or unsigned char buffer?)

一个字节的缓冲区应该是char或unsigned char还是一个char缓冲区? C和C ++之间的任何区别?

谢谢。

Should a buffer of bytes be signed char or unsigned char or simply a char buffer? Any differences between C and C++?

Thanks.

最满意答案

一个字节的缓冲区应该是char或unsigned char还是一个char缓冲区? C和C ++之间的任何区别?

语言对待它的微小区别。 公约对待它的巨大差异。

char = ASCII(或UTF-8,但签名方式存在) 文本数据 unsigned char = byte signed char =很少使用

还有代码依赖于这样的区别。 只是一两个星期前,我遇到了一个错误,JPEG数据被破坏,因为它被传递给我们的Base64编码功能的char*版本 - “帮助”替换了所有无效的UTF-8“string”。 更改为BYTE aka unsigned char是所有需要解决它。

Should a buffer of bytes be signed char or unsigned char or simply a char buffer? Any differences between C and C++?

A minor difference in how the language treats it. A huge difference in how convention treats it.

char = ASCII (or UTF-8, but the signedness gets in the way there) textual data unsigned char = byte signed char = rarely used

And there is code that relies on such a distinction. Just a week or two ago I encountered a bug where JPEG data was getting corrupted because it was being passed to the char* version of our Base64 encode function — which "helpfully" replaced all the invalid UTF-8 in the "string". Changing to BYTE aka unsigned char was all it took to fix it.

更多推荐

本文发布于:2023-07-25 05:41:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1256781.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:缓冲区   字节   符号   或无   char

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!