Gin*_*sor 0 c# utf-8 filestream
假设我有一个字符串
string hex = "55 6E 6B 6E 6F 77 6E 20 53 70 61 63 65"
Run Code Online (Sandbox Code Playgroud)
我想将这些写入文件,但它们应该是字节本身.所以结果将是未知空间.
有没有办法直接这样做,而不是先将encoding它utf-8写入文件?我要问的原因是,如果我首先将字符串拆分为每个值的字符,有时候utf-8(例如0xE28780)中的特殊字符不会很好.
非常感谢!
与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);
Run Code Online (Sandbox Code Playgroud)
返回一个字符串数组,该数组包含此实例中由指定字符串或Unicode字符数组的元素分隔的子字符串.
Convert.ToByte方法(String,Int32)
将指定基数中的数字的字符串表示形式转换为等效的8位无符号整数.
为文件提供Stream,支持同步和异步读写操作.
File.WriteAllBytes方法(String,Byte [])
创建一个新文件,将指定的字节数组写入该文件,然后关闭该文件.如果目标文件已存在,则会被覆盖.