formattounicode.java

来自「该HttpProxy用于从Applet或Swing界面中访问Ejb和服务端的Ja」· Java 代码 · 共 59 行

JAVA
59
字号
package com.nari.pmos.arch;

import java.io.PrintStream;
import java.io.UnsupportedEncodingException;

public class FormatToUnicode {

	public FormatToUnicode() {
	}

	public static String GB2312ToUnicode(String str) {
		StringBuffer sb = new StringBuffer(1000);
		sb.setLength(0);
		for (int i = 0; i < str.length(); i++) {
			char c = str.charAt(i);
			if (c > '\377') {
				sb.append("\\u");
				int j = c >>> 8;
				String tmp = Integer.toHexString(j);
				if (tmp.length() == 1)
					sb.append("0");
				sb.append(tmp);
				j = c & 0xff;
				tmp = Integer.toHexString(j);
				if (tmp.length() == 1)
					sb.append("0");
				sb.append(tmp);
			} else {
				sb.append(c);
			}
		}

		return new String(sb);
	}

	public static String UnicodeToGB2312(String str) {
		String res = null;
		StringBuffer sb = new StringBuffer();
		try {
			while (str.length() > 0)
				if (str.startsWith("\\u")) {
					int x = Integer.parseInt(str.substring(2, 6), 16);
					sb.append((char) x);
					str = str.substring(6);
				} else {
					sb.append(str.charAt(0));
					str = str.substring(1);
				}
			res = sb.toString();
		} catch (Exception e) {
			e.printStackTrace(System.err);
		}
		return res;
	}

	public static void main(String args[]) throws UnsupportedEncodingException {
		System.out.println(UnicodeToGB2312("\u597D"));
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?