问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中Unicode码的转换

发布网友 发布时间:2022-04-21 16:24

我来回答

4个回答

热心网友 时间:2023-06-25 05:18

private static String decode(char[] in) throws Exception {
int off = 0;
char c;
char[] out = new char[in.length];
int outLen = 0;
while (off < in.length) {
c = in[off++];
if (c == '\\') {
if (in.length > off) { // 是否有下一个字符
c = in[off++]; // 取出下一个字符
} else {
out[outLen++] = '\\'; // 末字符为'\',返回
break;
}
if (c == 'u') { // 如果是"\\u"
int value = 0;
if (in.length > off + 4) { // 判断"\\u"后边是否有四个字符
boolean isUnicode = true;
for (int i = 0; i < 4; i++) { // 遍历四个字符
c = in[off++];
switch (c) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
value = (value << 4) + c - '0';
break;
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
value = (value << 4) + 10 + c - 'a';
break;
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
value = (value << 4) + 10 + c - 'A';
break;
default:
isUnicode = false; // 判断是否为unicode码
}
}
if (isUnicode) { // 是unicode码转换为字符
out[outLen++] = (char) value;
} else { // 不是unicode码把"\\uXXXX"填入返回值
off = off - 4;
out[outLen++] = '\\';
out[outLen++] = 'u';
out[outLen++] = in[off++];
}
} else { // 不够四个字符则把"\\u"放入返回结果并继续
out[outLen++] = '\\';
out[outLen++] = 'u';
continue;
}
} else {
switch (c) { // 判断"\\"后边是否接特殊字符,回车,tab一类的
case 't':
c = '\t';
out[outLen++] = c;
break;
case 'r':
c = '\r';
out[outLen++] = c;
break;
case 'n':
c = '\n';
out[outLen++] = c;
break;
case 'f':
c = '\f';
out[outLen++] = c;
break;
default:
out[outLen++] = '\\';
out[outLen++] = c;
break;
}
}
} else {
out[outLen++] = (char) c;
}
}
return new String(out, 0, outLen);
}追问肿么这么复杂啊?
那个应该就为了输出成扑克牌的黑桃那个小图案那种形状
“黑桃、红心、梅花和方块的对应Unicode值为\u2660\u2665\u2663\u2666,”

追答这是一个方法,只要调用方法就可以啊?有疑问???

热心网友 时间:2023-06-25 05:18

String str="\u2660\u2665\u2663\u2666";
System.out.println(str);
输出:♠♥♣♦
多大点事。
字符串用\u2660 ,你问题里面的是/u2660。应该用反斜杠表示转义。

热心网友 时间:2023-06-25 05:19

你好,java的字符串是unicode编码的,这个你是不是想输出UTF-8或者GBK字符集格式啊?
new String(input.getBytes("ISO-8859-1"), "GB18030")

注意,字符串永远都是unicode编码的。

Java采用的编码:unicode,JVM平台默认字符集和外部资源的编码。追问“黑桃、红心、梅花和方块的对应Unicode值为\u2660\u2665\u2663\u2666,”
我就是想输出成黑桃或者红心神马的

追答String ns=new String(s.getByte("unicode"),"GBK");

热心网友 时间:2023-06-25 05:19

int和char转换时也会出现这些符号的》
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
做鼻小柱用什么材料好? 谁有visio2003版 WIN7 64位啊,有的话发个连接 中山东区怎样坐车去珠海 ...忘记了ID密码,苹果官网发来一个这样的网址,请问怎么操作? 苹果id被锁定26天后可以重设密码 快手发作品配的说说大全 四年级语文爬山虎的脚教案 工作井内有哪些设备 南方电网检查井内设有排管吗 安装电缆施工 java解决中文乱码转码 用java如何把unicode码转成汉字? java中如何在中文字符和unicode编码之间进行转换? java怎么转换为unicode编码 白鹅绒与灰鸭绒保暖性比对 用eclipse写java时,怎么把中文字符转换成unicode java内 怎么汉字转unicode 白鸭绒和白鹅绒有什么区别?? JAVA程序,从键盘输入汉字,并将汉子转换为相应的unicode编码,怎么写啊 鹅绒属于羽绒服吗 Java如何将一段汉字变成unicode码? 白鹅绒会有白色粉末尘吗? java怎么把汉字转化成unicode编码 白鹅绒被买什么牌子好? 灰鸭绒,白鸭绒,灰鹅绒,白鹅绒的区别 100克白鹅绒相当于多少灰鸭绒 200g白鹅绒相当于多少白鸭绒? 如何自己制作聊天软件 一个什么软件可以自己跟自己聊天的 用什么才可以自己制作聊天软件? 编写JAVA程序输出中文字的unicode编码 .java怎么把乱码转成文字 java读取含有unicode编码的文件内容,并转换成汉字? JAVA中unicode 转码问题(十万火急) 用Java编写程序 任意两个输入两个整数 输出它们相加的结果 java怎么把把字符转成utf-8 java中如何输出字符变量的Unicode编码值 java处理unicode字符 java如何把以unicode编码形式的字符串变成编码前的形式 小米9se放不放水? 小米9Se外屏碎了,容易进水吗? 抑郁症的表现有哪些? 羽绒服上沾了中性笔墨汁怎么除 抑郁症有哪些症状和表现 抑郁症有什么表现 抑郁症有哪些具体表现 羽绒服上的水笔印怎么去除 抑郁症是什么?有什么表现? 羽绒上的中性笔水怎样洗掉 抑郁症会有什么表现?