gpt4 book ai didi

c# - 根据所选编码,空终止符占用多少字节?

转载 作者:行者123 更新时间:2023-12-02 08:56:32 25 4
gpt4 key购买 nike

Encoding.GetByteCount(String) 告诉我用基于 byte[] 的给定 C# string 表示需要多少字节基于选定的编码,但外部协议(protocol)要求字符串以 null 结尾并且包含该字符串的消息的总大小在 header 中发送。

计算 char[] 的大小是否像在 GetByteCount(String) 的结果中添加 1 byte 一样简单,或者可能我的 NULL 终止符的大小也根据编码而不同吗?如果是这样我该如何确定?

我问的是一般情况,而不是特定的编码。

例如int HowManyNullBytesToAdd(Encoding编码)

最佳答案

对于所有常用的编码,您问题的简单答案是

MyEncoding.GetByteCount("\0")

但是,如果您想考虑完全的通用性,那么您可能会考虑任意编码,甚至可能不是您或我可以发明的任何标准编码的一部分。然后所有的赌注都消失了。在这种全面的普遍性中,我认为您需要了解更多有关特定编码的信息。

但是,对于最常用的 Unicode 编码 UTF-8、UTF-16 和 UTF-32,上面的简单代码是无效的。

关于c# - 根据所选编码,空终止符占用多少字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60173978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com