导航:首页 > 编程语言 > javaascii转字符

javaascii转字符

发布时间:2025-07-23 02:30:36

① 急!急!java中ASCII转码问题

看了几位的回答,感觉有点好笑,楼主本身就出了一个假命题,几位回答都没有弄清字符集的转换,楼主也不知道自己本身就犯了一个致命错误,“你好”本身就是一个多位编码,你却硬要用低位码去解码,不出错才怪呢?
String s1 =new String(chinaString.getBytes("gb2312"),"ISO-8859-1");

这里的gb2312可以省略,系统会默认用你控制面板设定好的字符集,因为原来“你好”是多位编码,所以必须用多位编码去解码,也就是gb2312或utf-8去解码,这样chinaString.getBytes("gb2312")就变成一个byte数组,这时候你可以随意重新指定编码如iso-8859-1,这是s1就变成一个是iso-8859-1编码的字符串,如果你想重新转为中文,那么,你用什么字符集编码的,必须用什么字符集来解码,这里是iso-8859-1,可以这么来做

String s2 = new String(s1.getBytes("ISO-8859-1"),"gb2312");
这样s2又重新变回中文了,所以当你打印s2时,就是“你好”。

还有一个问题,为什么这里用iso-8859-1来重新编码,而不用其他的字符集呢?这里因为,其他字符集无法相互转码而发生编码丢失现象,你可以试试,把iso-8850-1换成utf-8试试,这无法重新转回来,这导致乱码现象,如果你ios-8850-1换成gbk,大部分是可以的,因为gbk兼容gb2312,但是,不是所有的都能相互转回来,最好用iso-8850-1来作为中间转码字符集,这是因为所有的字符集都对iso-8859-1兼容,不管是gbk还是gb2312,utf-8,都能完美地转换回来。

说了这么多,可能大家还有点迷糊,这应用在什么地方。我举个例子,大家知道,经常有人做网络爬虫,把网页下载下来,但是,网页编码各种各样,主要有iso-8859-1,gbk,gb2312,utf-8,网页以io字节流下载下来,要想把它转换字符流,也就是文字,这时候要知道编码是什么。怎么办呢?这样做,不管它,首先以iso-8859-1编码转换过来,然后再用正则表达式看看网页头部,如:
<meta content="text/html; charset=gb2312" http-equiv="Content-Type">,这时就知道这个网页的编码是gb2312,再利用这个式子
String s2 = new String(s1.getBytes("ISO-8859-1"),"gb2312");
s2就能正确显示网页内容。假如你用其他字符集如utf-8作为中间码,也能知道网页编码是gb2312,但这是你用式子
String s2 = new String(s1.getBytes("utf-8"),"gb2312"),就会出现乱码现象,所以最好用iso-8859-1作为中间码。

所以,楼主除了犯以上错误以外,还有,就不应该用US-ASCII作为中间码,否则,是不能转换为中文的,它们之间无法做到相互转换,只有iso-8859-1才能完美转换成其他编码。

② java byte 数组里存的是ascii码,怎么转成字符串

byte[]b=newbyte[]{65,66,67,68};//字节数组
Strings=newString(b,"ascii");//第二个参数指定编码方式
System.out.print(s);

③ JAVA把ASCII码转变为字符串

publicclassTTTTT{

publicstaticvoidmain(String[]args){
Stringstring="1041011081123210910133";
System.out.println(asciiToString(string));
}

(Stringtext){
StringBuilderbuilder=newStringBuilder();
for(inti=0;i<text.length();i++){
if(text.charAt(i)<='2'&&i<=text.length()-3){
intcode=Integer.parseInt(text.substring(i,i+3));
builder.append((char)code);
i+=2;
}else{
intcode=Integer.parseInt(text.substring(i,i+2));
builder.append((char)code);
i+=1;
}
}
returnbuilder.toString();
}

}

你这编码很怪啊,结果竟然是help me!

1041011081123210910133
解析起来很麻烦那,不是3位3位的。
104
101
108
112
32
109
101
33

④ Java中,如何把ascii码转换成字符

在Java中,将ASCII码转换成字符的方法有两种主要情况:单个ASCII码转换和一串ASCII码转换。以下是具体的答案:

对于单个ASCII码转换成字符

总结

⑤ java中 怎么把一个ascii转换成字符串

下面的代码是转ascii的例子你可以参考下。
import java.io.UnsupportedEncodingException;
public class T {
public static void main(String[] args) throws UnsupportedEncodingException {
t1();//ASCII转换为字符串

t2();//字符串转换为ASCII码

}
public static void t1(){//ASCII转换为字符串

String s="22307 35806 24555 20048";//ASCII码

String[]chars=s.split(" ");
System.out.println("ASCII 汉字 \n----------------------");
for(int i=0;i<chars.length;i++){
System.out.println(chars[i]+" "+(char)Integer.parseInt(chars[i]));
}
}
public static void t2(){//字符串转换为ASCII码

String s="新年快乐!";//字符串

char[]chars=s.toCharArray(); //把字符中转换为字符数组

System.out.println("\n\n汉字 ASCII\n----------------------");
for(int i=0;i<chars.length;i++){//输出结果

System.out.println(" "+chars[i]+" "+(int)chars[i]);
}
}
}

阅读全文

与javaascii转字符相关的资料

热点内容
楚留香为什么没有服务器 浏览:733
服务器怎么用手机搭建 浏览:430
存储服务器如何挂载到服务器 浏览:376
编译安装pythondev 浏览:110
农信卡app密码忘记了怎么办 浏览:845
文明史pdf 浏览:587
妻友app苹果怎么下载 浏览:141
win10系统如何远程桌面连接到服务器 浏览:279
编译原理张晶是哪的人 浏览:271
资深程序员怎么做 浏览:401
程序员那么可爱三年前发生了什么 浏览:243
跑腿app源码上传 浏览:268
html5简单小游戏源码 浏览:22
在转转app怎么领福利 浏览:358
app的双重认证怎么解除 浏览:224
加密货币价格动荡的6个原因 浏览:183
站内搜索引擎源码 浏览:410
sqlite常用命令 浏览:106
算法导论第三版pdf中文 浏览:970
服务器如何分成多台的软件 浏览:778