当前位置: 首页 > 面试题库 >

如何将字符串转换为Bytearray

夔博
2023-03-14
问题内容

如何使用JavaScript转换字节数组中的字符串。输出应等效于以下C#代码。

UnicodeEncoding encoding = new UnicodeEncoding();
byte[] bytes = encoding.GetBytes(AnyString);

由于UnicodeEncoding默认为具有Little-Endianness的UTF-16。

编辑: 我需要使用上面的C#代码将字节数组生成的客户端与服务器端生成的字节数组进行匹配。


问题答案:

在C#中运行

UnicodeEncoding encoding = new UnicodeEncoding();
byte[] bytes = encoding.GetBytes("Hello");

将创建一个数组

72,0,101,0,108,0,108,0,111,0

字节数组

对于代码大于255的字符,它将如下所示

字节数组

如果您希望在JavaScript中实现非常相似的行为,则可以执行此操作(v2是更强大的解决方案,而原始版本仅适用于0x00〜0xff)

var str = "Hello竜";

var bytes = []; // char codes

var bytesv2 = []; // char codes



for (var i = 0; i < str.length; ++i) {

  var code = str.charCodeAt(i);



  bytes = bytes.concat([code]);



  bytesv2 = bytesv2.concat([code & 0xff, code / 256 >>> 0]);

}



// 72, 101, 108, 108, 111, 31452

console.log('bytes', bytes.join(', '));



// 72, 0, 101, 0, 108, 0, 108, 0, 111, 0, 220, 122

console.log('bytesv2', bytesv2.join(', '));


 类似资料:
  • 问题内容: 我正在阅读有关python的新f字符串的 博客 ,它们看起来很整洁。但是,我希望能够从字符串或文件中加载f字符串。 我似乎找不到任何执行此操作的字符串方法或其他函数。 从上面我的链接中的示例: 但是,如果我有琴弦怎么办?我希望能够像这样: 事实证明,我已经可以执行类似的操作并获得性能提高。即: 问题答案: f字符串是代码。不仅以安全的方式(当然,字符串文字就是代码),而且以危险的任意代

  • 问题内容: 我有一个,我需要一个。如何从一个转换为另一个? 问题答案: 好问题。我有以下五种 6种方法可以做到这一点。 注意:返回。因此有效地两者是相同的。 调用,这又设置了数组。 另一方面,调用以下程序包私有构造函数。 从源代码中的Java 8的源代码 因此似乎是最有效的方法,在这两个存储器和速度方面,用于转换char到String。

  • 问题内容: 我一直在尝试使用 GZIPOutputStream 等,但在理解它们方面没有成功。我要做的就是将字符串- “字符串” 转换为GZIP Base64格式。我怎样才能做到这一点? 编辑: 通过GZIP Base64格式,我的意思是字符串首先使用GZIP压缩,然后转换为Base64 问题答案: 使用Apache Commons Codec 。 这是一个示例类: 哪个输出: 在Linux下,您

  • 问题内容: 我想获取一串字符串并将其转换为单词对流。例如: 我有: 我想要:。 这几乎与Zipping相同,如使用带有Lambda的JDK8的Zipping流中概述的那样(java.util.stream.Streams.zip) 但是,这会产生: 以下代码有效,但显然是错误的方法(不是线程安全的等): 问题答案: 如果你: 不喜欢使用流中所有字符串创建列表的想法 不想使用外部库 喜欢弄脏你的手

  • 问题内容: 如何将字符串转换为long。 为了你 所以你怎么走却又漫长。 问题答案: 这是一种常用的方法: 还有一种方法:区别在于返回原语而返回对象。

  • 问题内容: 如何在Java中转换String为CharSequence? 问题答案: 从 IS-A开始,您可以在需要的地方传递,也可以将分配给: 如果要将a转换为,则使用必须由的每个具体实现实现的方法。 希望能帮助到你。