如何将字符串转换为字节数组?
How to Convert String to Byte Array?
我读到一个错误:
Cannot implicitly convert type 'String' to 'Byte[]'
我认为 'byte[]' 是字节数组 - 如果不是,请纠正我。
我在这个网站上尝试了另一种解决方案,但我不明白。我正在制作一个 c# 'RTM tool',这是放入的内容:
byte[] bytes = (metroTextBox2.Text);
Array.Resize<byte>(ref bytes, bytes.Length + 1);
PS3.SetMemory(0x2708238, bytes);
试试这个,
static byte[] GetBytes(string str)
{
byte[] bytes = new byte[str.Length * sizeof(char)];
System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
return bytes;
}
n 字节到字符串的转换
static string GetString(byte[] bytes)
{
char[] chars = new char[bytes.Length / sizeof(char)];
System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
return new string(chars);
}
归功于 this answer。
你可以这样试试:
string str= "some string";
var bytes = System.Text.Encoding.UTF8.GetBytes(str);
并解码:
var decodeString = System.Text.Encoding.UTF8.GetString(bytes);
static void Main(string[] args)
{
string inputStr = Console.ReadLine();
byte[] bytes = Encoding.Unicode.GetBytes(inputStr);
string str = Encoding.Unicode.GetString(bytes);
Console.WriteLine(inputStr == str); // true
}
我读到一个错误:
Cannot implicitly convert type 'String' to 'Byte[]'
我认为 'byte[]' 是字节数组 - 如果不是,请纠正我。
我在这个网站上尝试了另一种解决方案,但我不明白。我正在制作一个 c# 'RTM tool',这是放入的内容:
byte[] bytes = (metroTextBox2.Text);
Array.Resize<byte>(ref bytes, bytes.Length + 1);
PS3.SetMemory(0x2708238, bytes);
试试这个,
static byte[] GetBytes(string str)
{
byte[] bytes = new byte[str.Length * sizeof(char)];
System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
return bytes;
}
n 字节到字符串的转换
static string GetString(byte[] bytes)
{
char[] chars = new char[bytes.Length / sizeof(char)];
System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
return new string(chars);
}
归功于 this answer。
你可以这样试试:
string str= "some string";
var bytes = System.Text.Encoding.UTF8.GetBytes(str);
并解码:
var decodeString = System.Text.Encoding.UTF8.GetString(bytes);
static void Main(string[] args)
{
string inputStr = Console.ReadLine();
byte[] bytes = Encoding.Unicode.GetBytes(inputStr);
string str = Encoding.Unicode.GetString(bytes);
Console.WriteLine(inputStr == str); // true
}