如何解决如何将普通字符串转换为等效的十六进制字节数组?
我的问题是如何转换,
string s = "Hello World";
进入
byte b = {0x48,0x65,0x6C,0x6F,0x20,0x57,0x72,0x64};
如果在 C# .NET Core 中有一个简单的方法,那将会非常有帮助。
解决方法
短语“十六进制字节数组”没有意义;字节是字节 - 它们没有任何内在格式,例如十进制、十六进制、八进制:它们只是值。
但是,您想要的可能是:
byte[] bytes = Encoding.UTF8.GetBytes(s);
获取hex,然后可以使用工具再次获取字符串,例如:
string hex = BitConverter.ToString(bytes);
,
如果你说你想要一个给定字符串的字节数组,你必须指定字节数组应该以何种方式表示字符串。这称为编码,.NET 框架有一个用于处理字符串编码操作的内置库 (System.Text.Encoding)。
例如,为了得到字符串作为 ASCII 表示,使用这个:
byte[] bytes = Encoding.ASCII.GetBytes(someString);
当然,ASCII 是一组非常有限的字符。
只需在此处探索您的选择:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。