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

javaascii转utf8

发布时间:2021-11-16 18:39:28

java怎么把把字符转成utf-8

java不同编码之间进行转换,都需要使用unicode作为中转。
以utf-8转gbk为例,示例代码如下内:
String t = "这是一个字符串容aaa111";
String utf8 = new String(t.getBytes( "UTF-8"));
System.out.println(utf8);
String unicode = new String(utf8.getBytes(),"UTF-8");
System.out.println(unicode);
String gbk = new String(unicode.getBytes("GBK"));
System.out.println(gbk);

⑵ java 如何将“你好”转成UTF-8 “\u4F60\u597D” 这种编码

你说的是web中,还是java程序中。这样转是毫无必要的,utf-8应该兼容中文,但有时候会出现乱码的情况。简单的解决方法是,把你要转换的内容放到记事本中,然后点“另存为”,在对话框的最下面中间部分有个“编码”,选择utf-8就行!你要是想着java程序中转码,你用的是MyEclipse吗,要是的话,我再告诉你。最好把问题说清楚!

⑶ 急!急!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中 怎么把 ascii码转换为 十六进制

使用这个方法可以传进去的16进制的数字组成的字符串转化为utf-8格式的字符串

public static String toStringHex1(String s) {
byte[] baKeyword = new byte[s.length() / 2];
for (int i = 0; i < baKeyword.length; i++) {
try {
baKeyword[i] = (byte) (0xff & Integer.parseInt(s.substring(
i * 2, i * 2 + 2), 16));
} catch (Exception e) {
e.printStackTrace();
}
}
try {
s = new String(baKeyword, "utf-8");// UTF-16le:Not
} catch (Exception e1) {
e1.printStackTrace();
}
return s;
}
追问
我要ASCII格式的字符串,有吗,谢了。

追答
那就修改s = new String(baKeyword, "ASCII")这一行就行了,后面的表示要转化的编码格式可以选很多种,以下是你要的代码

public static String toStringHex1(String s) {
byte[] baKeyword = new byte[s.length() / 2];
for (int i = 0; i < baKeyword.length; i++) {
try {
baKeyword[i] = (byte) (0xff & Integer.parseInt(s.substring(
i * 2, i * 2 + 2), 16));
} catch (Exception e) {
e.printStackTrace();
}
}
try {
s = new String(baKeyword, "ASCII");
} catch (Exception e1) {
e1.printStackTrace();
}
return s;
}

⑸ 如何将ascii的字符串转换成utf8

如果你说的ascii码值
是标准的0-127
那不需要转的
直接就可以用

如果是汉字编码 比如gb2312 转成utf8需要查表 或者 找专门的库
比如 java 里面就有toUtf8

⑹ java如何把string转为utf-8

java不同编码之间进行转换,都需要使用unicode作为中转。

String str = "任意字符串";

str = new String(str.getBytes("gbk"),"utf-8");

备注说明:

str.getBytes("UTF-8"); 意思是以UTF-8的编码取得字节

new String(XXX,"UTF-8"); 意思是以UTF-8的编码生成字符串

举例:

public static String getUTF8XMLString(String xml) {

// A StringBuffer Object

StringBuffer sb = new StringBuffer();

sb.append(xml);

String xmString = "";

String xmlUTF8="";

try {

xmString = new String(sb.toString().getBytes("UTF-8"));

xmlUTF8 = URLEncoder.encode(xmString, "UTF-8");

System.out.println("utf-8 编码:" + xmlUTF8) ;

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

// return to String Formed

return xmlUTF8;

(6)javaascii转utf8扩展阅读:

UTF-8编码规则:

如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的字节数,其余各字节均以10开头。

实际表示ASCII字符的UNICODE字符,将会编码成1个字节,并且UTF-8表示与ASCII字符表示是一样的。所有其他的UNICODE字符转化成UTF-8将需要至少2个字节。每个字节由一个换码序列开始。第一个字节由唯一的换码序列,由n位连续的1加一位0组成,首字节连续的1的个数表示字符编码所需的字节数。

Unicode转换为UTF-8时,可以将Unicode二进制从低位往高位取出二进制数字,每次取6位,如上述的二进制就可以分别取出为如下示例所示的格式,前面按格式填补,不足8位用0填补。

⑺ JAVA如何将16进制数字转换为ASCII中的字符串。

使用这个方法可以传进去的16进制的数字组成的字符串转化为内utf-8格式的字符容串

public static String toStringHex1(String s) {
byte[] baKeyword = new byte[s.length() / 2];
for (int i = 0; i < baKeyword.length; i++) {
try {
baKeyword[i] = (byte) (0xff & Integer.parseInt(s.substring(
i * 2, i * 2 + 2), 16));
} catch (Exception e) {
e.printStackTrace();
}
}
try {
s = new String(baKeyword, "utf-8");// UTF-16le:Not
} catch (Exception e1) {
e1.printStackTrace();
}
return s;
}

⑻ java中从服务器返回的是native2ascii码 如何转换为UTF-8

猪哥解答:

1、首先确定你的java编码是UTF-8还是其他,如果用Eclipse编程,进入java程序,用快捷键ALT+Enter查看当前程式编码,如图。

2、确认完编码之后,如果是后台显示,直接输出就可以,例如:

Stringstr="u540cu5fd7u5011";

System.out.println(str);

后来输出为“同志们”。

3、如果是jsp显示,在jsp中设置charset:

<%@pagecontentType="text/html;charset=UTF-8"%>

然后直接<%=str%>也是可以的。

⑼ java 汉字怎么转ascii

java中如何将一个字符转换为ascii码:
方法1:
char
c
=
'a
';
byte
b
=(byte)c;
方法2:
直接将这个字符转化为int型就可以得到ascii码值
char
c
=
'a
';
int
b
=
c;
//字符的ascii码值
同理将一个ascii码转换为相应的字符:
例如:字符a
int
d
=
97;
char
e
=
(char)d;

阅读全文

与javaascii转utf8相关的资料

热点内容
java大写字母开头 浏览:292
kindle怎么txt格式的文件 浏览:189
ae怎么找不到文件 浏览:35
全球开源代码贡献量 浏览:771
u盘启动读取linux文件 浏览:209
修改bootimg超频教程 浏览:887
python中处理word文件的库 浏览:219
蝉试客安装证书找不到描述文件 浏览:50
下载好的片在文件夹为啥找不到 浏览:683
陆小凤之凤舞九天哪个版本好看 浏览:30
找不到允许下载的源文件 浏览:98
javalist字母排序 浏览:23
win10怎么开远程共性文件夹 浏览:532
pscc2017软件破解教程 浏览:123
实况足球2011升级补丁 浏览:162
激活时提示系统找不到指定的文件 浏览:422
如何保护被滥用的用户隐私数据 浏览:390
怎样在手机桌面增添文件框 浏览:103
根据qq号查腾讯微博 浏览:319
appid为什么被锁定 浏览:154

友情链接