请教怎么把16进制字符串转换为Ascii码

请教怎么把16进制字符串转换为Ascii码,第1张

请教怎么把16进制字符串转换为Ascii码
使用这个方法可以传进去的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);

或者:

int a=129; char b[4]; itoa(a,b,10); 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;
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12931044.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存