java - 计算 "octets"中字符串的大小

标签 java

我在计算字符串长度时遇到问题。我有以下字符串:

30 ctime=1460687405.982514823\n

其格式如下:

扩展 header 应包含一个或多个记录,每个记录的构造如下:

“%d %s=%s\n”,长度,关键字,值

扩展头记录应根据 ISO/IEC10646-1:2000 标准 (UTF-8) 进行编码。显示的长度字段、空白、等号和换行符应限制为以 UTF-8 编码的可移植字符集。 keywordvalue 字段可以是任何 UTF-8 字符。 length 字段应为扩展头记录的十进制长度(以八位字节为单位),包括尾随换行符。

问题在于长度字段。

如何计算尺寸?对字节值求和?整个 String.length()?

什么是八位字节?

最佳答案

一个八位组是一个8位字节。

Java 中的字符串是一组 16 位字符。当您将这些 16 位 [unicode] 字符编码为 UTF-8 编码字节时,该字符串的大小(此时可能是一个 byte[])这就是我们所要求的。请参阅this question有关将 Java 字符串编码为 UTF-8 的更多详细信息。

关于java - 计算 "octets"中字符串的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36948981/

相关文章:

java - 应用程序的 IntelliJ IDEA 13.0 恒定 Debug模式?

java - 解码位图流失败

java - Spring Boot 2.0 迁移后 : jdbcUrl is required with driverClassName

java - 如何打印对象数组中的对象元素?

java - GUICE:根据范围注入(inject)值

java - spring data jpa - 参数值[Book]与预期类型[ContentType]不匹配

java - 如何通过JTextfield输入添加int

java - 如何使用网络驱动程序(Selenium - Java)切换到框架并单击弹出窗口?

java - 在 Spring MVC 中使用 HttpEntity 返回错误

java - 创建 Producer 方法时收到模糊依赖警告