使用这个方法可以传进去的16进制的数字组成的字符串转化为utf-8格式的字符串
public static String toStringHex1(String s) {
byte[] baKeyword = new byte[slength() / 2];
for (int i = 0; i < baKeywordlength; i++) {
try {
baKeyword[i] = (byte) (0xff & IntegerparseInt(ssubstring(
i 2, i 2 + 2), 16));
} catch (Exception e) {
eprintStackTrace();
}
}
try {
s = new String(baKeyword, "utf-8");// UTF-16le:Not
} catch (Exception e1) {
e1printStackTrace();
}
return s;
}
129如果需要转换成"129"可以:
第1个ASCII字符:取百位得到数字1,加上字符'0';第2个ASCII字符:取百位得到数字2,加上字符'0';
第3个ASCII字符:取百位得到数字9,加上字符'0';
比如设计程序:
int a=129; char b[4]; b[0]=a/100+'0'; b[1]=a/10%10+'0'; b[2]=a%10+'0'; b[3]=0; printf("%s\n",b);
也可以利用现成的函数:
int a=129; char b[4]; sprintf(b,"%d",a); printf("%s\n",b);或者:
#include <stdioh>
void main(){
int a=-12340,t;
int i,n=0;
char str=NULL;
printf("Enter a number:");
scanf("%d",&a);
t=a;
while (t){
t=t/10;
n++;
}
t=a;
if (t<0){
n++;
}
str=new char [n];
if (t<0){
str[n-1]='-';
t=a(-1);
}
i=0;
printf("\n");
while (t){
int c=t%10;
t=t/10;
str[i]='0'+c;
i++;
}
printf("%d:",a);
for (i=n-1;i>=0;i--){
printf("%d ",str[i]);
}
printf("\n");
delete [] str;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)