我对较低级别的事情不太有经验,例如一个字符有多少字节。我尝试找出一个字符是否等于一个字节,但没有成功。

我需要设置一个用于服务器和客户端之间的套接字连接的分隔符。该分隔符必须尽可能小(以字节为单位),以最大限度地减少带宽。

当前的分隔符是“#”。使用其他分隔符会减少我的带宽吗?

有帮助吗?

解决方案

它取决于什么样的字符编码的使用之间的翻译字和字节(这是完全不同的东西):

  • 在ASCII或ISO8859,每个字表示一个字节
  • 在UTF-32,每个角色是代表4个字节
  • 在UTF-8,每个字使用1和4之间字节
  • 在ISO2022年,它的复杂得多

US-ASCII characters(的whcich#是一)将只需要1byte UTF-8,这是最受欢迎的编码,允许多人物。

其他提示

这取决于编码。在单字节字符集,如ANSI和各种ISO8859字符集是每个字符一个字节。一些编码如UTF8是可变宽度,其中字节编码字符的数目取决于字形被编码。

答案当然是它依赖。如果是在纯ASCII的env,那么,每一个字符需要1个字节,但如果是在一个Unicode ENV(所有Windows例如),那么字符可以从尺寸为1至4个字节的范围内。

如果您从ASCII字符集一个字符,然后是你的delimter是越小越好。

不,所有字符都是 1 个字节,除非您使用 Unicode 或宽字符(例如重音符号和其他符号)。

一个字符的长度为 1 个字节或 8 位,可提供 256 种可能的组合来形成字符。1 字节字符称为 ASCII 字符。他们只使用 7 位(尽管有 8 位可用,但你不能使用这第 8 位)来形成标准字母表和电传打字机和打字机仍然常见时使用的各种符号。

你可以找到一个 ASCII 图表以及哪些数字对应哪些字符 这里。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top