C# - 如何对字符串或字符进行编码?
我正在从文件中的特定字节读取元数据,但得到的结果没有编码。我想将它们编码为 Encoding.Default 以提高可读性。
如何转换完整的 Unicode 字符串或至少一个字符?
C# .NET 3.5
I'm reading metadata from specific bytes in files but the results I get have no encoding. I would like to encode them to Encoding.Default for readability.
How do I convert either full Unicode string or at least a single char?
C# .NET 3.5
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您不会将字节编码为特定编码,而是从原始编码解码它们。您必须使用正确的编码才能使用 - 您不能随意选择它。
这些字节实际上代表文本数据吗?如果是这样,已经使用什么编码?这应该是文件格式的一部分。
如果它们实际上不是编码文本,但您想要任意二进制数据的可靠文本表示形式,请使用Convert.ToBase64String。
You don't encode bytes to a particular encoding - you decode them from the original encoding. You have to use the right encoding to use - you can't just pick it arbitrarily.
Do these bytes actually represent text data? If so, what encoding do the already use? This should be part of the file format.
If they're not actually encoded text, but you want a reliable text representation of arbitrary binary data, use
Convert.ToBase64String
.那行得通吗?
Would that work?
看一下命名空间 System.Text.Encoding :)
Have a look at the namespace System.Text.Encoding :)
使用这样的东西
use somthing like this
它将是这样的:
string s = Encoding.UTF8.GetString(bytesToGetStringFrom, 0, bytesToGetStringFrom.Length);
除了 UTF8 之外,还有其他“编码”。
It will be something like this:
string s = Encoding.UTF8.GetString(bytesToGetStringFrom, 0, bytesToGetStringFrom.Length);
There are "encodings" other than UTF8.