java将整数字符串转换为ASCII字符的可能组合
说我有java将整数字符串转换为ASCII字符的可能组合,java,string,char,ascii,Java,String,Char,Ascii,说我有 String input = "Programming", result="\0"; int temp; for (int i=0;i<input.length();++i) { temp = input.charAt(i); result += temp; } 出于好奇,是否有可能以简单的方式逆转这个过程?您需要做的是假设每个数字位于“A”到“Z”(65到90)或“A”到“Z”(97到122)之间 通过调用subs
String input = "Programming", result="\0";
int temp;
for (int i=0;i<input.length();++i) {
temp = input.charAt(i);
result += temp;
}
出于好奇,是否有可能以简单的方式逆转这个过程?您需要做的是假设每个数字位于“A”到“Z”(65到90)或“A”到“Z”(97到122)之间
substring()
- 如果是,则继续循环
public static void main(String[] args) {
String toConvert= "8011411110311497109109105110103";
String result="";
while(toConvert.length()>0){
String digits=toConvert.substring(0, 2);
int num=Integer.valueOf(digits);
if(('A'<=num&&num<='Z')||('a'<=num&&num<='z')){
toConvert=toConvert.substring(2);
}
else{
digits=toConvert.substring(0, 3);
num=Integer.valueOf(digits);
toConvert=toConvert.substring(3);
}
String letter = String.valueOf((char) num);
result+=letter;
}
System.out.println(result);
}
publicstaticvoidmain(字符串[]args){
字符串toConvert=“80111110311497109109105110103”;
字符串结果=”;
while(toConvert.length()>0){
字符串数字=转换子字符串(0,2);
int num=整数.valueOf(位数);
如果((“A”假设你有123
。应该是12
+3
还是1
+23
?我不认为你可以,因为很难区分两个数字是一个字符还是三个数字:p是80
,但g是103
。所以,你不知道是期望两位数/字符还是三位数/图表这就是我的原因当被问及是否有可能,以简单的方式,因为即使是一个短字符串也会产生如此多的可能性。您必须使用所有3位数字生成它,以便80将是080或十六进制(然后所有将是2个字符),然后您可以反转它
public static void main(String[] args) {
String toConvert= "8011411110311497109109105110103";
String result="";
while(toConvert.length()>0){
String digits=toConvert.substring(0, 2);
int num=Integer.valueOf(digits);
if(('A'<=num&&num<='Z')||('a'<=num&&num<='z')){
toConvert=toConvert.substring(2);
}
else{
digits=toConvert.substring(0, 3);
num=Integer.valueOf(digits);
toConvert=toConvert.substring(3);
}
String letter = String.valueOf((char) num);
result+=letter;
}
System.out.println(result);
}