1. 用eclipse写java时,怎么把中文字符转换成unicode
在ECLIPSE中安装Property插件,然后打开一个Property文件,右键该文件,选择【Unicode表示】菜单,弹出文件中以unicode方式显示该文件的全部内容
2. java中如何在中文字符和unicode编码之间进行转换
可以这样来重构字符串new String(“XXX".getByte(),”UTF-8“);后面加上编码方式
3. Java如何将一段汉字变成unicode码
publicclassT{
publicstaticvoidmain(String[]args){
Strings="我爱你";
System.out.println(string2Unicode(s));
}
(Stringstring){
StringBufferunicode=newStringBuffer();
for(inti=0;i<string.length();i++){
//取出每一个字符
charc=string.charAt(i);
//转换为unicode
unicode.append("\u"+Integer.toHexString(c));
}
returnunicode.toString();
}
}
4. java中如何输出字符变量的Unicode编码值
java中可以使用char类提供的charAt()方法来获得字符的unicode的编码值,示例如下:
(4)字符转unicodejava扩展阅读:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
参考资料:网络-java
5. java中Unicode码的转换
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);
}
6. java处理unicode字符
unicode编码简而言之就是将每一个字符用16位2进制数标识。但是通常都用4位的16进制数标识。
例如:
1)中文字符串"你好"的unicode码为:\u60\u597d;
2)英文字符串"ab"的unicode码为:\u0061\u0062;
其中\u是标识unicode码用的,后面的4位16进制数则是对应字符的unicode码。
unicode码在J2EE项目中应用广泛,java对unicode码提供了很好的支持。例如国际化,则是unicode的经典运用。
那么unicode的编码规则具体是什么,如何用程序实现?
1、unicode编码规则
unicode码对每一个字符用4位16进制数表示。具体规则是:将一个字符(char)的高8位与低8位分别取出,转化为16进制数,
如果转化的16进制数的长度不足2位,则在其后补0,然后将高、低8位转成的16进制字符串拼接起来并在前面补上"\u" 即可。
2、转码程序
1)字符串转unicode
/**
* 将字符串转成unicode
* @param str 待转字符串
* @return unicode字符串
*/
public String convert(String str)
{
str = (str == null ? "" : str);
String tmp;
StringBuffer sb = new StringBuffer(1000);
char c;
int i, j;
sb.setLength(0);
for (i = 0; i < str.length(); i++)
{
c = str.charAt(i);
sb.append("\\u");
j = (c >>>8); //取出高8位
tmp = Integer.toHexString(j);
if (tmp.length() == 1)
sb.append("0");
sb.append(tmp);
j = (c & 0xFF); //取出低8位
tmp = Integer.toHexString(j);
if (tmp.length() == 1)
sb.append("0");
sb.append(tmp);
}
return (new String(sb));
}
2)unicode转成字符串,与上述过程反向操作即可
/**
* 将unicode 字符串
* @param str 待转字符串
* @return 普通字符串
*/
public String revert(String str)
{
str = (str == null ? "" : str);
if (str.indexOf("\\u") == -1)//如果不是unicode码则原样返回
return str;
StringBuffer sb = new StringBuffer(1000);
for (int i = 0; i < str.length() - 6;)
{
String strTemp = str.substring(i, i + 6);
String value = strTemp.substring(2);
int c = 0;
for (int j = 0; j < value.length(); j++)
{
char tempChar = value.charAt(j);
int t = 0;
switch (tempChar)
{
case 'a':
t = 10;
break;
case 'b':
t = 11;
break;
case 'c':
t = 12;
break;
case 'd':
t = 13;
break;
case 'e':
t = 14;
break;
case 'f':
t = 15;
break;
default:
t = tempChar - 48;
break;
}
c += t * ((int) Math.pow(16, (value.length() - j - 1)));
}
sb.append((char) c);
i = i + 6;
}
return sb.toString();
}
7. java unicode 转字符串,如下:["6\u621610\u621612"]转String
直接运行下面这段代码就是你要的结果,那个str跟你的那个str是一样的,不过在代码里面要转义,否则报错,如果是变量接收,直接传就行了
public static void main(String[] args) {
Pattern pattern1 = Pattern.compile("(?<=\\[)[^\\]]+");
String str="[\"6\u621610\u621612\"]";
Matcher m = pattern1.matcher(str);
while (m.find()) {
System.out.println(m.group());
}
}
8. java编程题:unicode中的字符与编码值的互相转化程序
package pn.util.encoder;import java.io.UnsupportedEncodingException;
public class UnicodeEncoder{
/**
* 获取字符串的unicode编码序列
* @param s string
* @return unicode编码后的字符串
*/
public static String toUNICODE(String s)
{
StringBuffer sb=new StringBuffer();
for(int i=0;i<s.length();i++)
{
if(s.charAt(i)<256)//ASC11表中的字符码值不够4位,补00
{
sb.append("\\u00");
}
else
{
sb.append("\\u");
}
// System.out.println(Integer.toHexString(s.charAt(i)));
sb.append(Integer.toHexString(s.charAt(i)));
}
return sb.toString();
}
/**
* 根据unicode编码序列获取字符串,直接输出即可
* @param unicodeValues unicode码值序列,e.g. "\u0063\u0064"
* @return 解码后的字符串序列
*/
public static String toCharSequence(String unicodeValues){
return unicodeValues;
}
public static void main(String[] args) {
System.out.println(toUNICODE("ab汉字"));
System.out.println(toCharSequence("\u0061\u0062\u6c49\u5b57"));
}
}
结果:
\u0061\u0062\u6c49\u5b57
ab汉字
9. Java 把字符转换成Unicode对应数字 得不得想要的结果
你这里的m写死成了字符了,要使用接收到的字符串变量.
而且要加一个判断,判断接收到的是否是一个字符.
修改后的:
import javax.swing.JOptionPane;
public class CastOperator {
public static void main(String args[]) {
String str1;
str1 = JOptionPane.showInputDialog("请输入你想要转换的字符串:");
Cast(str1);
}
public static void Cast(String m) {
int number = 0;
if (m != null && m.length() == 1) {
number = (int)m.charAt(0);
}
JOptionPane.showMessageDialog(null, "The char " + m + " is " + number,
"CastOperator", JOptionPane.PLAIN_MESSAGE);
}
}
10. java 字符串格式的unicode码转换为对应字符输出
intc=Integer.parseInt("B236",16);
System.out.println((char)c);