字符串生成器(JAVA)的二进制到Ascii故障
我有一个字符串,我想把它改成二进制,但在后面的代码中我想把它改回ascci。我该怎么做?以下是我目前的代码:字符串生成器(JAVA)的二进制到Ascii故障,java,binary,ascii,stringbuilder,Java,Binary,Ascii,Stringbuilder,我有一个字符串,我想把它改成二进制,但在后面的代码中我想把它改回ascci。我该怎么做?以下是我目前的代码: String word = JOptionPane.showInputDialog("Insert word"); String s = word; byte[] bytes = s.getBytes(); StringBuilder binary = new StringBuilder(); for (byte b : bytes) {
String word = JOptionPane.showInputDialog("Insert word");
String s = word;
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);
String word=JOptionPane.showInputDialog(“插入单词”);
字符串s=单词;
byte[]bytes=s.getBytes();
StringBuilder二进制文件=新的StringBuilder();
for(字节b:字节){
int val=b;
对于(int i=0;i<8;i++){
binary.append((val&128)==0?0:1);
val您可以使用binary.toString()
从StringBuilder
中提取内容,因此:
String text = binary.toString();
接下来,您需要处理二进制内容
首先将字符串拆分为单词:
String[] byts = text.split(" ",-1);
接下来,迭代表示字节的字符串
s,并将其转换为实字节和字符:
int n = byts.length;
StringBuilder result = new StringBuilder();
for(int i = 0; i < n; i++) {
byte dat = 0;
String byi = byts[i];
for (int j = 0; j < byi.length(); j++){
char byij = byi.charAt(j);
dat <<= 0x01;
if(byij != '0') {
dat |= 0x01;
}
}
result.append((char) dat);
}
int n=byts.length;
StringBuilder结果=新建StringBuilder();
对于(int i=0;i dat首先,您应该尝试将其更改为ascii。您没有转换为“二进制”,您正在转换为一个可以读取位的字符串。这是另一回事。好吧,我有点困惑。我正在尝试创建一个加密代码。因此我有3个数组。第一个数组更改为十六进制。这是可行的。第二个数组更改为二进制,这是可行的,但我也在尝试解密我的加密字。我似乎无法将二进制更改回转换为字符串。@CommuSoft如何将其转换为二进制或将二进制读取为字符串?谢谢您的帮助help@Jay:您的问题有点混乱,请编辑您的问题并提供更多详细信息(更具体),并提供一个示例…@CommuSoft我编辑了我的问题现在更清楚了吗??