字符串与字节数组的转换
2012-03-28 16:13
260 查看
1。
字符串转换为字节数组,你需要指定编码,不同的编码,输出的字节数组是不一样的,
同时,读取的时候,也要使用对应的编码,否则非拉丁字符会乱出现乱码
string str = "hello world";
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(str);
char[] chars = System.Text.Encoding.UTF8.GetChars(buffer);
chars = str.ToCharArray(); // 此方法内部使用 Unicode 编码
// byte[] buffer = System.Text.Encoding.GetEncode("GB2312").GetBytes(str);
//char[] chars = (char[])buffer; // CS0030: 无法将类型“byte[]”转换为“char[]”
chars = new char[buffer.Length];
Array.Copy(buffer, chars, buffer.Length); // 直接拷贝隐式转换
2。
事实上,如果你进行写字符串,可以选择 StreamWriter
string str = "hello world";
using(System.IO.FileStream fstream = new System.IO.FileStream("C://somefile")) {
System.IO.StreamWriter writer = new System.IO.StreamWriter(fstream);
writer.Write(str);
}
字符串转换为字节数组,你需要指定编码,不同的编码,输出的字节数组是不一样的,
同时,读取的时候,也要使用对应的编码,否则非拉丁字符会乱出现乱码
string str = "hello world";
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(str);
char[] chars = System.Text.Encoding.UTF8.GetChars(buffer);
chars = str.ToCharArray(); // 此方法内部使用 Unicode 编码
// byte[] buffer = System.Text.Encoding.GetEncode("GB2312").GetBytes(str);
//char[] chars = (char[])buffer; // CS0030: 无法将类型“byte[]”转换为“char[]”
chars = new char[buffer.Length];
Array.Copy(buffer, chars, buffer.Length); // 直接拷贝隐式转换
2。
事实上,如果你进行写字符串,可以选择 StreamWriter
string str = "hello world";
using(System.IO.FileStream fstream = new System.IO.FileStream("C://somefile")) {
System.IO.StreamWriter writer = new System.IO.StreamWriter(fstream);
writer.Write(str);
}
相关文章推荐
- 加密解密基础问题:字节数组和(16进制)字符串的相互转换(转)
- java下字符串和字节数组如何转换?
- C# 16进制与字符串、字节数组之间的转换(转载)
- C# 16进制与字符串、字节数组之间的转换(转载)
- C#字节数组转换成字符串
- 字节数组与16进制字符串之间的转换
- 字符串String转换成字节数组 byte[]的表现形式
- C#中字节数组(byte[])和字符串相互转换
- java 中字节数组与十六进制字符串及普通字符串之间的转换
- C# 16进制与字符串、字节数组之间的转换
- C# 字符串与字节数组相互转换
- C# 16进制与字符串、字节数组之间的转换
- C# 16进制与字符串、字节数组之间的转换
- Java整数-字节,字节-字符,字节数组-十六进制字符串转换
- 加密解密基础问题:字节数组和(16进制)字符串的相互转换
- C#串口通讯,16进制与字符串、字节数组之间的转换。
- Algorithm: 字符串转换为 unicode 字节数组
- JavaScript十六进制字符串和字节数组相互转换
- C# 16进制与字符串、字节数组之间的转换
- C# 16进制与字符串、字节数组之间的转换