我创建了一个包含两个字符串的字节数组。如何将字节数组转换为字符串?
var binWriter = new BinaryWriter(new MemoryStream());
binWriter.Write("value1");
binWriter.Write("value2");
binWriter.Seek(0, SeekOrigin.Begin);
byte[] result = reader.ReadBytes((int)binWriter.BaseStream.Length);
我想将结果
转换为字符串。我可以使用Binary Reader
来完成,但我不能使用Binary Reader
(不支持)。
通过使用BlockCopy,您可以在不处理编码的情况下做到这一点:
char[] chars = new char[bytes.Length / sizeof(char)];
System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
string str = new string(chars);
假设您使用的是UTF-8编码:
string convert = "This is the string to be converted";
// From string to byte array
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(convert);
// From byte array to string
string s = System.Text.Encoding.UTF8.GetString(buffer, 0, buffer.Length);
根据您希望使用的编码:
var str = System.Text.Encoding.Default.GetString(result);
我得到一个错误读数:
问题内容: 我有一个一维String数组,我想将其转换为一维字节数组。我该怎么做呢?这需要ByteBuffer吗?我怎样才能做到这一点?(字符串可以是任意长度,只想知道如何执行这样的操作。将其转换为字节数组后,如何将其转换回String数组? -担 问题答案: 数组到数组 ,应该 手动 将其转换为两边,但是如果只有一个String,则可以和; 像这样 对于string []中的一个字节[],您必须
用户将从终端输入字符串值。我可以用整数表示。但是,我需要能够将其转换为字节数组/gsl::span。这可能吗? 更新可能的解决方案(但使用std::vector)
如何将字符串(字节字符串)转换为字节(字节字符串),而不必手动复制和粘贴字符串并在其前面放置b?
为什么toString方法返回jibberish?
问题内容: 如何将Java字符串转换为ASCII字节数组? 问题答案: 使用该方法,为其指定适当的名称(或名称)。 例: (Java 7的前:)