我希望在反应本机代码中将文本值转换为二进制文件。下面的代码是用java编写的。我希望在本地反应中有类似的东西。请任何人为我提供反应原生的二进制转换解决方案。
String s = "foo";
byte[] bytes = s.getBytes();
StringBuilder binary = new StringBuilder();
for (byte b : bytes)
{
int val = b;
for (int i = 0; i < 8; i++)
{
binary.append((val & 128) == 0 ? 0 : 1);
val <<= 1;
}
binary.append(' ');
}
System.out.println("'" + s + "' to binary: " + binary);
//Output:
'foo' to binary: 01100110 01101111 01101111
答案 0 :(得分:0)
你可以这样做:
const convertStringToBinary = (str) => str.split("").map(l => l.charCodeAt(0).toString(2)).join(" ");
你可以这样测试:
console.log(convertStringToBinary("foo"))
答案 1 :(得分:0)
Dan的示例是一个很好的形式,如果存在,则将开头的零去除。因此,我将其编码并添加了以下内容:
convertStringToBinary = (str) =>
str
.split("")
.map((l) => l.charCodeAt(0).toString(2))
.join(" ");
render() {
let arr = this.convertStringToBinary(this.state.text).split(" ");
return (
<>
{arr.map((str, i) => {
while (str.length < 8) {
str = "0" + str;
}
return str + " ";
}).join("")}
</>
);
}
我正在用组件内部的动画生成动画,这就是我要走的路。