Svi*_*ish 86 c# string bytearray
我不关心编码和东西,只要我找回完全相同的字节数组.
总结一下:如何将字节数组转换为字符串,然后将该字符串转换回我开始使用的相同字节数组?
Jon*_*eet 163
将字节转换为字符串并返回的绝对最安全的方法是使用base64:
string base64 = Convert.ToBase64String(bytes);
byte[] bytes = Convert.FromBase64String(base64);
Run Code Online (Sandbox Code Playgroud)
这样你就可以保证不会得到"无效"的unicode序列,例如没有下半部分的代理对的前半部分.没有什么可以决定将数据标准化为奇怪的东西(它都是ASCII).没有机会使用未在Unicode中注册的代码点或类似的东西.哦,你也可以毫不畏惧地剪切和粘贴.
是的,每3个字节最终会有4个字符 - 但这对于您的数据不会被破坏的知识来说是一个很小的代价.
您可以使用Convert如下所示的课程.
/// <summary>
/// Converts a string to byte array
/// </summary>
/// <param name="input">The string</param>
/// <returns>The byte array</returns>
public static byte[] ConvertToByteArray(string input)
{
return input.Select(Convert.ToByte).ToArray();
}
/// <summary>
/// Converts a byte array to a string
/// </summary>
/// <param name="bytes">the byte array</param>
/// <returns>The string</returns>
public static string ConvertToString(byte[] bytes)
{
return new string(bytes.Select(Convert.ToChar).ToArray());
}
/// <summary>
/// Converts a byte array to a string
/// </summary>
/// <param name="bytes">the byte array</param>
/// <returns>The string</returns>
public static string ConvertToBase64String(byte[] bytes)
{
return Convert.ToBase64String(bytes);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60225 次 |
| 最近记录: |