在c#中,我可以通过Encoding.UTF8.GetString()
对二进制数据进行编码,然后再将其转换为,再回到binary = Encoding.UTF8.GetBytes()
。在c#中编码和解码安全吗?
我希望结果应该是我原来的二进制数据 - 无一例外。
但是在任何情况下都是如此吗?
还是取决于UTF8
字符集的具体行为?
还是应该更好地使用Encoding.ASCII.GetString()
和Encoding.ASCII.GetBytes()
?
如果有人知道Encoding
到底是什么(它如何处理特殊字符或特殊字节),那么请给我建议。
marc,但'somestring'和'somestring2'在这里应该总是一样的吧?因为我首先将其转换为'UTF8'? 'string somestring = ...; string somestring2 = Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(somestring));' –
@SriramSakthivel是的,但这是一个**不同的例子**。这不是问题描述的问题。问题描述的是:'byte [] somebytes = ...;字节somebytes2 = Encoding.UTF8.GetBytes(Encoding.UTF8.GetString(somebytes));' - 这是**没有**去工作 –
我只是交叉检查我的理解是否正确,我知道我的问题是与OP要求的不同。谢谢马克 –