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);