字符串编码格式相互转换Unicode --UTF-8 -- GBK
2016-08-12 10:33
465 查看
1.从 Unicode 形式的字符串转换成对应的编码的特殊字符串。 如 “\u9EC4” to “黄”
2.将字符串进行UTF-8/GBK编码
3.将UTF-8编码转为字符串
/** * 从 Unicode 形式的字符串转换成对应的编码的特殊字符串。 如 "\u9EC4" to "黄". * Converts encoded \\uxxxx to unicode chars * and changes special saved chars to their original forms * * @param in * Unicode编码的字符数组。 * @param off * 转换的起始偏移量。 * @param len * 转换的字符长度。 * @param convtBuf * 转换的缓存字符数组。 * @return 完成转换,返回编码前的特殊字符串。 */ public static String fromEncodedUnicode(char[] in, int off, int len) { char aChar; char[] out = new char[len]; // 只短不长 int outLen = 0; int end = off + len; while (off < end) { aChar = in[off++]; if (aChar == '%') { aChar = in[off++]; if (aChar == 'u') { // Read the xxxx int value = 0; for (int i = 0; i < 4; i++) { aChar = in[off++]; switch (aChar) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': value = (value << 4) + aChar - '0'; break; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': value = (value << 4) + 10 + aChar - 'a'; break; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': value = (value << 4) + 10 + aChar - 'A'; break; default: throw new IllegalArgumentException("Malformed \\uxxxx encoding."); } } out[outLen++] = (char) value; } else { if (aChar == 't') { aChar = '\t'; } else if (aChar == 'r') { aChar = '\r'; } else if (aChar == 'n') { aChar = '\n'; } else if (aChar == 'f') { aChar = '\f'; } out[outLen++] = aChar; } } else { out[outLen++] = (char) aChar; } } return new String(out, 0, outLen); }
2.将字符串进行UTF-8/GBK编码
URLEncoder.encode(String str,"UTF-8/GBK");//java.net.URLEncoder.encode(String s, String charsetName)
3.将UTF-8编码转为字符串
URLDecoder.decode(String str,"UTF-8/GBK");
相关文章推荐
- 关于JAVA字符编码:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换
- Unicode,ISO-8859,GBK,UTF-8编码及相互转换
- 【JAVA编码】 JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
- 关于JAVA字符编码:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换
- JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
- JAVA字符编码系列二:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换
- 【JAVA编码】 JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
- 黑马程序员-Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换
- ANSI、UNICODE、UTF-8编码格式相互之间转换
- 【JAVA编码】 JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
- 第二篇:JAVA字符编码系列二:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换
- JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换[引]
- 【JAVA编码】 JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
- UTF-8和GBK等中文字符编码格式介绍及相互转换
- JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
- JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
- JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
- 【JAVA编码】 JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换 分类: B1_JAVA 2015-02-10 21:03 152人阅读 评论(0) 收藏
- Java实现的UTF-8,GBK,Unicode编码相互转换的代码