JAVA程序,从键盘输入汉字,并将汉子转换为相应的unicode编码,怎么写啊
上代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(“请输入汉字:”);
String input = sc.nextLine();
if (input.length() == 0) {
System.out.println(“输入错误”);
return;
}
System.out.println(“汉字转unicode结果:”);
char[] chars = input.toCharArray();
for (int i = 0; i chars.length; i++) {
String unicode = Integer.toHexString(chars[i]);
if (unicode.length() = 2) {
// 不足四位前面加0补齐
unicode = “00” + unicode;
}
unicode = “\\u” + unicode;
System.out.println(chars[i] + “: ” + unicode);
}
}
}
java怎么把汉字转化成unicode编码
中文转换成Unicode编码和Unicode编码转换成中文
import java.util.Properties;
public class Test {
public static void main(String[] args) {
String s = “简介”;
String tt = gbEncoding(s); // String tt1 = “你好”;
System.out.println(decodeUnicode(“\\u7b80\\u4ecb”)); // System.out.println(decodeUnicode(tt1));
System.out.println(HTMLDecoder.decode(“中国”));
String s1 = “\u7b80\u4ecb”;
System.out.println(s.indexOf(“\\”));
}
public static String gbEncoding(final String gbString) {
char[] utfBytes = gbString.toCharArray();
String unicodeBytes = “”;
for (int byteIndex = 0; byteIndex utfBytes.length; byteIndex++) {
String hexB = Integer.toHexString(utfBytes[byteIndex]);
if (hexB.length() = 2) {
hexB = “00” + hexB;
}
unicodeBytes = unicodeBytes + “\\u” + hexB;
}
System.out.println(“unicodeBytes is: ” + unicodeBytes);
return unicodeBytes; }
public static String decodeUnicode(final String dataStr) {
int start = 0;
int end = 0;
final StringBuffer buffer = new StringBuffer();
while (start -1) {
end = dataStr.indexOf(“\\u”, start + 2);
String charStr = “”;
if (end == -1) {
charStr = dataStr.substring(start + 2, dataStr.length());
} else {
charStr = dataStr.substring(start + 2, end);
}
char letter = (char) Integer.parseInt(charStr, 16); // 16进制parse整形字符串。
buffer.append(new Character(letter).toString());
start = end;
}
return buffer.toString();
} }
}
}
}
怎样讲string转换成unicode,请高手来 Java SE
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class UCodeDemo extends JFrame {
private static final long serialVersionUID = 1L;
static JTextField jt1;
static JTextArea jt2;
JScrollPane jsp;
JButton jb;
public UCodeDemo() {
jt1 = new JTextField(20);
jt1.setText(“请输入….”);
//给单行文本框添加事件监听,当监听到键盘的回车键的时候,显示字符在Unicode的位置
jt1.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_ENTER){
getUcode();
}
}
});
jt2 = new JTextArea();
jb = new JButton(“确定”);
jsp = new JScrollPane(jt2, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
//给按钮设置事件监听,当点击按钮的时候,显示字符在Unicode的位置
jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
getUcode();
}
});
this.setLayout(new BorderLayout());
this.add(jt1, BorderLayout.NORTH);
this.add(jb, BorderLayout.SOUTH);
this.add(jsp, BorderLayout.CENTER);
this.setTitle(“Unicode小应用”);
this.setLocation(350, 250);
this.setSize(300, 300);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
//方法:显示字符在Unicode的位置
protected void getUcode() {
String str = jt1.getText();
char[] cc = str.toCharArray();
StringBuffer sb = new StringBuffer();
for (int i = 0; i cc.length; i++) {
sb.append(“【” + cc[i] + “的Unicode位置】:” + (int) cc[i] + “\n”);
}
jt2.setText(sb.toString());
jt2.setForeground(getColor());
}
public static void main(String[] args) {
new UCodeDemo();
}
private Color getColor(){
return new Color(getRandom(),getRandom(),getRandom());
}
int getRandom(){
int rgb=(int)(Math.random()*256);
return rgb;
}
}