这是我的代码
EditText textExtract = (EditText) findViewById(R.id.textInput);
String textInput = textExtract.getText().toString();
TextView textOut = (TextView) findViewById(R.id.textOutput);
我从用户那里获取输入并将其存储在String textInput 中。 现在,如何将String textInput 转换为我想使用textView textOut打印的ASCII值字符串。
例如,
Input = "abcd"
Output = 979899100
答案 0 :(得分:2)
public static long toAscii(String s){
StringBuilder sb = new StringBuilder();
String ascString = null;
long asciiInt;
for (int i = 0; i < s.length(); i++){
sb.append((int)s.charAt(i));
char c = s.charAt(i);
}
ascString = sb.toString();
asciiInt = Long.parseLong(ascString);
return asciiInt;
}
String outputText = toAscii(textInput).toString();
textOut.setText(outputText);
这对您的案例很有帮助
答案 1 :(得分:0)
循环进入字符串,并将每个字符转换为Character.toString((char)i),将结果存储在数组中并将其作为字符串打印。
答案 2 :(得分:0)
您可以通过将char转换为int来将字符转换为ascii,例如
char c = 'A';
int ascii = (int) c;
要转换整个字符串,请遍历所有字符的数组。您可以使用"Hello".getCharArray();
看起来像这样:
String input = "Hello World";
StringBuilder sb = new StringBuilder();
char[] chars = input.toCharArray();
for(char c : chars)
sb.append((int) c);
String output = sb.toString();
这里使用StringBuilder将单个数字链接在一起,这比在Strings上多次使用.concat()更好。
答案 3 :(得分:0)
String str = textView1.getText().toString();
StringBuilder sb = new StringBuilder();
for (char c : str.toCharArray())
sb.append((int)c);
BigInteger mInt = new BigInteger(sb.toString());
textView2.setText(mInt.toString());