小编use*_*293的帖子

将字节转换为ISO 8859-1编码时,空字节会发生什么?

我不完全确定这个问题是否有意义.我正在转换从ID3标签中取出的字节数组并将其转换为字符串.ID3标签中的大多数文本框架使用ISO 8859-1编码,但它取决于框架.在任何情况下,如果您查找ISO 8859-1代码中的0x00,它将无效.

为了进一步复杂化,无论是程序员错误还是格式化不当,一些字符串以0x00结尾,而另一些则不然.

使用ISO 8859-1编码将一系列字节转换为字符串时,您是否手动检查字符串的结尾以查看它是否为空?或者编码对象将通过它用于转换的任何方法在第一时间正确处理null?此外,是否有某种函数可以规范化或"修复"空终止字符串?

当您尝试显示这些字符串时,它们无法正确显示.

我在这个特定项目中使用C#.关于ID3的一些额外信息标签:ID3规格

还是我完全误解了整件事?null终止符只是一种特定语言处理字符串的方式,它与编码无关吗?

  • 编辑:我使用System.Text.Encoding.GetEncoding("iso-8859-1"),然后是GetString调用

c# encoding id3 iso-8859-1

4
推荐指数
1
解决办法
1155
查看次数

标签 统计

c# ×1

encoding ×1

id3 ×1

iso-8859-1 ×1