`
XiaoJun-IT
  • 浏览: 20700 次
社区版块
存档分类
最新评论

Java标识符

阅读更多
1.java中的标识符有字母、数字、下划线、美元符号组成。
2.标识符首位不能是数字。
3.标识符不能使用java中的关键字和保留字。
4.标识符区分大小写。
5.标识符长度理论上没限制。

java语言使用Unicode标准字符集,最多可以识别65535个字符,java中一个字符占两个字节即16位,Unicode用16个二进制位表示一个字符,通常把16个二进制位的数字转换为4个十六进制的数字
java中字符和Unicode码转换操作可参考此方法:
http://blog.csdn.net/z69183787/article/details/25742307

1)字符串转unicode
/**
 * 将字符串转成unicode
 * @param str待转字符串
 * @return unicode字符串
 */
public static String convert(String str) {
	str = (str == null ? "" : str);
	String tmp;
	StringBuffer sb = new StringBuffer();
	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 sb.toString();
}


2)unicode转成字符串,与上述过程反向操作即可
/**
 * 将unicode 字符串
 * @param str待转字符串
 * @return 普通字符串
 */
public static String revert(String str) {
	str = (str == null ? "" : str);
	if (str.indexOf("\\u") == -1)// 如果不是unicode码则原样返回
		return str;

	StringBuffer sb = new StringBuffer();

	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;//48是字符'0'的int值
				break;
			}

			c += t * ((int) Math.pow(16, (value.length() - j - 1)));
		}
		sb.append((char) c);
		i = i + 6;
	}
	return sb.toString();
}
0
6
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics