http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html,字符大小是16位,即2字节。不知何故,我回想起它的8位即1个字节。为了澄清我的疑问,我创建了一个带有单个字符“a” 的文本文件并将其保存。然后我检查了文件的大小,它的1个字节,即8位。我很困惑 字符的大小是什么?如果它的2个字节,为什么文件大小是1个字节,如果是1个字节,为什么链接说2个字节?字节大小8位或16位?
回答
请注意,文本文件确实具有与其关联的格式/字符集。文本文件通常以UTF-8格式保存,每个字符8位,除非字符是“特殊的”。
你对“特殊”的定义是什么? *任何*非ASCII码? –
我试图保持我的答案简洁:-)完整的定义请参阅[Wikipedia](http://en.wikipedia.org/wiki/UTF-8) – vogomatix
当“简洁”意味着使用这样一个模糊的术语作为“特殊性”,我认为它不太有用。 –
Java中的char大小为2个字节(正如有效值范围所示)。但它并不一定意味着每个字符的表示都是2个字节长。例如,许多编码只会为每个字符保留1个字节(或者对于最常见的字符使用1个字节)。如果平台默认编码是1字节编码(如ISO-8859-1)或可变长度编码(例如作为UTF-8,它可以轻松地将该1字节转换为单个字符。
- 1. 读取智能卡(8位或16位?)
- 2. 128位(16字节)GUID被压缩到多少位或字节?
- 3. Laravel字段验证:允许8位或16位数字
- 4. 阵列封装的效率:8位(字节)与16位元素?
- 5. 8位到16位转换
- 6. 从C语言地址读取8位或16位或32位
- 7. 位/字节adressing - 小/大-endnian
- 8. 将2个8位字节阵列位置合并为一个16位整数
- 9. win32 - 如何将画面捕捉为8位或16位位图?
- 10. 带字节数组和8位整数的模算法:8位=字节%8位
- 11. 以字节为单位的UTF-8字符串大小
- 12. 将CRC32值减少为16或8位
- 13. 位大小更奇特(认为16位字符)平台
- 14. AES不是256字节(8或16)
- 15. 8位输入给奇怪的行为为16/32位使小端/大端
- 16. Python如何获得8位多字节变量大小?
- 17. 8位至16位ALU转换
- 18. 比较8位值与16位值
- 19. 转换16位PCM到8位
- 20. atmega32是8位还是16位?
- 21. DICOM将16位转换为8位
- 22. 交换16位值的前8位和后8位
- 23. 将8位字段加密为16位(或更多)字符的加密例程
- 24. 如何从32位/ 24位从字节到16位转换为字节
- 25. 8位字节的按位转置
- 26. C# - 转换8位或16位灰度原始像素数据
- 27. 枚举大小(以字节为单位)
- 28. 解码后位图字节大小?
- 29. 从16位创建4个字节
- 30. WebSocket key1 + key2 + 8_byte_data!= 16字节(128位)?
1个字符是8位,是一个字节 –
@AliGajani:这简直是不真实的。 –
@AliGajani:再次查看语言标记,然后考虑如何在Java中对字符进行编码。即使如此,8位不一定是一个字节。 –