java中怎么获得字符的Unicode码? 20
输入一个字符串返回他的Unicode码表示例如输入“我”返回“\u6211”我自己找到了。直接将char转换成int得到的就是对应的Unicode码了。。再用16进制表示...
输入一个字符串
返回他的Unicode码表示
例如 输入“我”
返回“\u6211”
我自己找到了。 直接将char 转换成int 得到的就是对应的Unicode码了。。再用16进制表示就可以了。
java.lang.Integer.toHexString(int i) 展开
返回他的Unicode码表示
例如 输入“我”
返回“\u6211”
我自己找到了。 直接将char 转换成int 得到的就是对应的Unicode码了。。再用16进制表示就可以了。
java.lang.Integer.toHexString(int i) 展开
6个回答
展开全部
//程序里的getBytes方法可以实现你要的功能,你看看。
//你运行这个程序了么,我运行的时候都好着啊。
//你也可以变通一下啊,看里面的来龙去脉都是什么样的哦,
//那样就知道怎么弄了,而不是依靠别人。这个不是很难。
//out.append(str);
//out.append(str1); 这两句千万不能颠倒。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
public class Unicode
{
public static void main(String[] args)
{
Unicode instance = new Unicode();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line;
try
{
while ((line = reader.readLine()) != null)
{
if(line.trim().equals("q")) System.exit(0);
String s = instance.getBytes(line);
System.out.println("bytes:" + s);
//System.out.println("line:"+);
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
String getBytes(String s)
{
try
{
StringBuffer out = new StringBuffer("");
byte[] bytes = s.getBytes("unicode");
for (int i = 2; i < bytes.length-1; i+=2)
{
out.append("\\u");
String str = Integer.toHexString(bytes[i+1] & 0xff);
for (int j = str.length(); j < 2; j++)
{
out.append("0");
}
String str1 = Integer.toHexString(bytes[i] & 0xff);
out.append(str);
out.append(str1);
}
return out.toString();
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
return null;
}
}
}
//你运行这个程序了么,我运行的时候都好着啊。
//你也可以变通一下啊,看里面的来龙去脉都是什么样的哦,
//那样就知道怎么弄了,而不是依靠别人。这个不是很难。
//out.append(str);
//out.append(str1); 这两句千万不能颠倒。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
public class Unicode
{
public static void main(String[] args)
{
Unicode instance = new Unicode();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line;
try
{
while ((line = reader.readLine()) != null)
{
if(line.trim().equals("q")) System.exit(0);
String s = instance.getBytes(line);
System.out.println("bytes:" + s);
//System.out.println("line:"+);
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
String getBytes(String s)
{
try
{
StringBuffer out = new StringBuffer("");
byte[] bytes = s.getBytes("unicode");
for (int i = 2; i < bytes.length-1; i+=2)
{
out.append("\\u");
String str = Integer.toHexString(bytes[i+1] & 0xff);
for (int j = str.length(); j < 2; j++)
{
out.append("0");
}
String str1 = Integer.toHexString(bytes[i] & 0xff);
out.append(str);
out.append(str1);
}
return out.toString();
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
return null;
}
}
}
展开全部
//程序里的getBytes方法可以实现你要的功能,你看看。
//你运行这个程序了么,我运行的时候都好着啊。
//你也可以变通一下啊,看里面的来龙去脉都是什么样的哦,
//那样就知道怎么弄了,而不是依靠别人。这个不是很难。
//out.append(str);
//out.append(str1); 这两句千万不能颠倒。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
public class Unicode
{
public static void main(String[] args)
{
Unicode instance = new Unicode();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line;
try
{
while ((line = reader.readLine()) != null)
{
if(line.trim().equals("q")) System.exit(0);
String s = instance.getBytes(line);
System.out.println("bytes:" + s);
//System.out.println("line:"+);
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
String getBytes(String s)
{
try
{
StringBuffer out = new StringBuffer("");
byte[] bytes = s.getBytes("unicode");
for (int i = 2; i < bytes.length-1; i+=2)
{
out.append("\\u");
String str = Integer.toHexString(bytes[i+1] & 0xff);
for (int j = str.length(); j < 2; j++)
{
out.append("0");
}
String str1 = Integer.toHexString(bytes[i] & 0xff);
out.append(str);
out.append(str1);
}
return out.toString();
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
return null;
}
}
}
//你运行这个程序了么,我运行的时候都好着啊。
//你也可以变通一下啊,看里面的来龙去脉都是什么样的哦,
//那样就知道怎么弄了,而不是依靠别人。这个不是很难。
//out.append(str);
//out.append(str1); 这两句千万不能颠倒。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
public class Unicode
{
public static void main(String[] args)
{
Unicode instance = new Unicode();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line;
try
{
while ((line = reader.readLine()) != null)
{
if(line.trim().equals("q")) System.exit(0);
String s = instance.getBytes(line);
System.out.println("bytes:" + s);
//System.out.println("line:"+);
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
String getBytes(String s)
{
try
{
StringBuffer out = new StringBuffer("");
byte[] bytes = s.getBytes("unicode");
for (int i = 2; i < bytes.length-1; i+=2)
{
out.append("\\u");
String str = Integer.toHexString(bytes[i+1] & 0xff);
for (int j = str.length(); j < 2; j++)
{
out.append("0");
}
String str1 = Integer.toHexString(bytes[i] & 0xff);
out.append(str);
out.append(str1);
}
return out.toString();
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
return null;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public String getUnicode(String s) {
try {
StringBuffer unicode = new StringBuffer("");
byte[] bytes = s.getBytes("unicode"); // 没有得到真的 Unicode 编码
for (int i = 2; i < bytes.length - 1; i += 2) { // i 为什么要间隔 2
unicode.append("\\u");
// 取一个字符的第 3 个字节,Unicode 编码使用 4 个字节表示一个字符。为什么要和 11111111 做与运算呢?
String str = Integer.toHexString(bytes[i] & 0xff);
unicode.append(str);
// 取一个字符的第 4 个字节为什么要和 11111111 做与运算呢?
String str1 = Integer.toHexString(bytes[i + 1] & 0xff);
// 判断十六进制的字符串如果不足 2 位,则在前面补 1 个 0
for (int j = str1.length(); j < 2; j++) { // 什么情况下 j 会是 0 或者 1 呢?
unicode.append("0");
}
unicode.append(str1);
}
return unicode.toString();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return null;
}
}
try {
StringBuffer unicode = new StringBuffer("");
byte[] bytes = s.getBytes("unicode"); // 没有得到真的 Unicode 编码
for (int i = 2; i < bytes.length - 1; i += 2) { // i 为什么要间隔 2
unicode.append("\\u");
// 取一个字符的第 3 个字节,Unicode 编码使用 4 个字节表示一个字符。为什么要和 11111111 做与运算呢?
String str = Integer.toHexString(bytes[i] & 0xff);
unicode.append(str);
// 取一个字符的第 4 个字节为什么要和 11111111 做与运算呢?
String str1 = Integer.toHexString(bytes[i + 1] & 0xff);
// 判断十六进制的字符串如果不足 2 位,则在前面补 1 个 0
for (int j = str1.length(); j < 2; j++) { // 什么情况下 j 会是 0 或者 1 呢?
unicode.append("0");
}
unicode.append(str1);
}
return unicode.toString();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return null;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
\bin\native2ascii.exe
直接运行他 然后输入汉字 点回车
直接运行他 然后输入汉字 点回车
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询