[英]c# - write string that contains hex values as bytes
假设我有一个字符串
string hex = "55 6E 6B 6E 6F 77 6E 20 53 70 61 63 65"
我想将这些写入文件,但是它们应该是字节本身。 因此结果将是“未知空间”。
有什么方法可以直接执行此操作,而不是先将其encoding
为utf-8
并将其写入文件吗? 我要问的原因是,有时(例如0xE28780
)中会有utf-8
的特殊字符,如果我先将字符串分成每个值的chars,那将无法正常工作。
非常感谢!
与string.Split
, Convert.ToByte
和FileStream
或File.WriteAllBytes
string hex = "55 6E 6B 6E 6F 77 6E 20 53 70 61 63 65";
var bytes = hex.Split(' ')
.Select(x => Convert.ToByte(x, 16))
.ToArray();
using (var fs = new FileStream(@"D:\test2.dat",FileMode.Create))
fs.Write(bytes,0,bytes.Length);
// or even easier
File.WriteAllBytes(@"D:\test2.dat",bytes);
返回一个字符串数组,其中包含此实例中的子字符串,这些子字符串由指定字符串或Unicode字符数组的元素定界。
将指定基数中的数字的字符串表示形式转换为等效的8位无符号整数。
提供文件流,支持同步和异步读取和写入操作。
File.WriteAllBytes方法(字符串,字节[])
创建一个新文件,将指定的字节数组写入该文件,然后关闭该文件。 如果目标文件已经存在,则将其覆盖。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.