我想为我的应用程序将包含不可打印字符的字节数组转换为字符串。当我转换回字节数组时,数组的内容应该保持不变,因为我发现 ASCII/Unicode/UTF8 并不总能给我正确的解决方案?
例如
byte[] bytearray ={ 147, 35, 44, 18, 255, 104, 206, 72 ,69};
string str = System.Text.Encoding.ASCII.GetString(bytearray);
bytearray = System.Text.Encoding.ASCII.GetBytes(str);
在上面的例子中,我发现字节数组包含
{ 63, 35, 44, 18, 63, 104, 63, 72 ,69}.
请帮助我。
最佳答案
看看Convert.ToBase64String方法。它将字节数组转换为字符串。请记住,编码为字符串的数据将占用比原始字节数组更多的空间。
public static string ToBase64String(
byte[] inArray
)
然后您可以使用 FromBase64String
public static byte[] FromBase64String(
string s
)
关于c# - 转换包含不可打印字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8009222/