c#将字符串转字节数组
1.使用UTF-8编码
using System;
using System.Text;
class Program
{
static void Main()
{
string str = "Hello, World!";
// 将字符串编码为 UTF-8 字节数组
byte[] bytes = Encoding.UTF8.GetBytes(str);
// 打印字节数组的内容
Console.WriteLine(BitConverter.ToString(bytes));
}
}
2.使用UTF-16编码
using System;
using System.Text;
class Program
{
static void Main()
{
string str = "Hello, World!";
// 将字符串编码为 UTF-16 字节数组
byte[] bytes = Encoding.Unicode.GetBytes(str);
// 打印字节数组的内容
Console.WriteLine(BitConverter.ToString(bytes));
}
}
3.使用ASCLL编码
using System;
using System.Text;
class Program
{
static void Main()
{
string str = "Hello, World!";
// 将字符串编码为 ASCII 字节数组
byte[] bytes = Encoding.ASCII.GetBytes(str);
// 打印字节数组的内容
Console.WriteLine(BitConverter.ToString(bytes));
}
}
4.注意事项
字符集的选择:UTF-8 是互联网上最常用的字符编码,能够很好地处理多语言文本。ASCII 仅支持7位的英文字符,而 UTF-16 支持更广泛的字符集,包括几乎所有现代语言的文字。
不可逆性:当使用 ASCII 或其他不能表示所有 Unicode 字符的编码时,请确保你的字符串只包含该编码可以表示的字符,否则可能会丢失信息或导致异常。
性能:对于大多数情况,UTF-8 是一个不错的选择,因为它对英文字符使用单个字节,而对于其他字符则使用多个字节,因此它既节省空间又兼容广泛字符集。
根据你的应用需求选择合适的编码方式,并使用相应的 Encoding 类方法来完成字符串到字节数组的转换。