我正在创建一个将ascii转换为二进制文件的android应用。但是我不知道如何访问在for循环之外创建的字符串。如果我输入binary(var name)android studio给我一个错误。这是我的代码(仅在单击式侦听器中)
String output = "";
String input = textEditText.getText().toString();
int length = input.length();
for (int i = 0;i < length;i++) {
char c = input.charAt(i);
int value = Integer.valueOf(c);
String binaryOutpt2 = Integer.toBinaryString(value);
String binary = output + binaryOutpt2;
}
答案 0 :(得分:3)
对变量StringBuilder
使用String
而不是output
,如下所示:
String input = textEditText.getText().toString();
StringBuilder output = new StringBuilder();
int length = input.length();
for (int i = 0; i < length; i++) {
char c = input.charAt(i);
int value = (int) c;
String s = Integer.toBinaryString(value);
for (int j = 0; j < 8 - s.length(); j++) {
output.append("0");
}
output.append(s);
}
String out = output.toString();
这样,您可以在初始输出处附加每个char的每个二进制值,最后得到文本的整个二进制表示形式。
还要在每个二进制值的开头填充零,直到为每个字符获得8个二进制数字。