【发布时间】:2011-11-07 13:40:57
【问题描述】:
我需要补充字符串二进制文件。
st=br.readLine() //I used readline to read string line
byte[] bytesy = st.getBytes(); //and put it to bytes array.
现在我如何补充字节的二进制等效项(或如何将其异或到 11111111)?
预期输出:
如果 st 的第一个字符是 x,那么二进制等价物是 01111000
并且输出必须是 10000111 通过补码(或异或到 11111111)
【问题讨论】:
-
java中的异或运算符是'^'
-
使用 reader 和 readLine 读取二进制数据很奇怪。此外,getBytes 使用平台的默认编码。您可能必须指定一种编码才能将字符串转换为字节并使代码具有可移植性。
-
但我不知道如何异或到 11111111。因为..你知道如何将字符串“11111111”转换为字节吗?
-
不要不使用
String.getBytes()而不指定编码。它将使用平台默认值,这几乎肯定不是您想要的。请提供有关您真正想要实现的目标的更多信息。 -
我需要将字符串的每一个字符异或到 11111111(binary) 以补充 char 二进制文件。