当前位置:  技术问答>操作系统 iis7站长之家

如何把“\u865A\u7EBF”这样的Unicode中文字符编码转换为Gb2312的中文字符?

    来源: 互联网  发布时间:2015-05-09

    本文导语:  急! | 是不是这个意思: 在一个TextField输入“4e00”文本,要求得到UNICODE码为4e00的汉字吗? 如果是的话那么应该可以这样 //TextField t1; String s1=t1.getText(); char c1=(char)Integer.parseInt(s1,16); 于是c...

急!

|
是不是这个意思:
在一个TextField输入“4e00”文本,要求得到UNICODE码为4e00的汉字吗?
如果是的话那么应该可以这样
//TextField t1;
String s1=t1.getText();
char c1=(char)Integer.parseInt(s1,16);

于是c1是UNICODE为4e00的汉字“一”.

|
好办法,i 服了你了。
如果整篇文章都是4e00这种,那怎么办?要一个一个的去转换吗。

|
class  testChar
{
public static void main(String[] args) 
{
String a=null;
try{
a= new String("u865Au7EBF");
}catch (Exception e)
{
System.out.println(e);
}
System.out.println(a);
}
}
以上代码在中文2000中正常显示!

|
static public String UTF2GB(String utfString) {
    StringTokenizer st = new StringTokenizer(utfString,"\u");
    StringBuffer sb = new StringBuffer();
    while(st.hasMoreTokens()) {
      String ii = st.nextToken();
      int x = Integer.parseInt(ii,16);
      char c = (char)x;
      sb.append(c);
    }
    return sb.toString();
  }

|
package mytest;

import java.awt.*;
import java.lang.StringBuffer;
import java.util.StringTokenizer;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import java.awt.event.*;

public class myFrame extends JFrame {
  JButton jButton1 = new JButton();
  JPanel jPanel1 = new JPanel();
  JTextArea jTextArea1 = new JTextArea();
  JTextArea jTextArea2 = new JTextArea();
  XYLayout xYLayout1 = new XYLayout();

  public myFrame() {
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  public static void main(String[] args) {
    myFrame myFrame = new myFrame();
  }
  private void jbInit() throws Exception {
    jButton1.setText("change");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jButton1_actionPerformed(e);
      }
    });
    jTextArea2.setBorder(BorderFactory.createEtchedBorder());
    jTextArea2.setPreferredSize(new Dimension(160, 17));
    jTextArea1.setBorder(BorderFactory.createEtchedBorder());
    jTextArea1.setPreferredSize(new Dimension(160, 17));
    jPanel1.setLayout(xYLayout1);
    this.getContentPane().add(jButton1,  BorderLayout.SOUTH);
    this.getContentPane().add(jPanel1, BorderLayout.CENTER);
    jPanel1.add(jTextArea1, new XYConstraints(15, 119, -1, -1));
    jPanel1.add(jTextArea2, new XYConstraints(206, 119, -1, -1));
    this.show();
  }

  void jButton1_actionPerformed(ActionEvent e) {
    String str=jTextArea1.getText();
    String str2="";
   // char[] ch=new char[str.length()];
   // str.getChars(0,str.length(),ch,0);
   // System.out.println(str.lastIndexOf("\u"));
    StringTokenizer st = new StringTokenizer(str,"\u");
    StringBuffer sb = new StringBuffer();
    while(st.hasMoreTokens()) {
      String tmpstr = st.nextToken();
      int x = Integer.parseInt(tmpstr,16);
      char c = (char)x;
      sb.append(c);
    }
    str2+=sb.toString();
    //str2=new String(str);
    /*for(int i=0;i

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3