博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中文和unicode编码相互转换(转)
阅读量:6574 次
发布时间:2019-06-24

本文共 1809 字,大约阅读时间需要 6 分钟。

 

工具类代码如下:

package aa.com;import java.io.UnsupportedEncodingException;public class UnicodeUtil {    public static void main(String[] args) throws UnsupportedEncodingException {        String s = "简介";        System.err.println(s+" --的unicode编码是:"+encoding(s));        System.err.println(encoding(s) + " --转换成中文是:"+decodeUnicode(encoding(s)));        System.err.println("\\u9EC4%u5927" + " --转换成中文是:"+decodeUnicode("\\u9EC4\\u5927"));    }        /*     * 中文转unicode编码     */    public static String encoding(String gbString) {        char[] utfBytes = gbString.toCharArray();        String unicodeBytes = "";        for (int i = 0; i < utfBytes.length; i++) {            String hexB = Integer.toHexString(utfBytes[i]);            if (hexB.length() <= 2) {                hexB = "00" + hexB;            }            unicodeBytes = unicodeBytes + "\\u" + hexB;        }        return unicodeBytes;    }    /*     * unicode编码转中文     * 系统中接受中文参数变成百分号,如:“黄大”-->“%u9EC4%u5927”     * 而实际上内容对应,应该是:“黄大”-->“\u9EC4\u5927”,中文变unicode     */    public static String decodeUnicode(String dataStr) {        dataStr = dataStr.replace("%","\\");//这行酌情不要        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();    }}

 

转载于:https://www.cnblogs.com/xiaoliu66007/p/10384207.html

你可能感兴趣的文章
DHCP
查看>>
电脑上怎样压缩图片大小
查看>>
新来的发一个帖子
查看>>
Nginx 支持webSocket 响应403
查看>>
lnmp安装
查看>>
FTP工作方式
查看>>
Linux文件和目录管理常用命令(中)
查看>>
Ubuntu16.04 ssh安及root登录
查看>>
C语言dos程序源代码分享(进制转换器)
查看>>
php项目中常用的log日志记录方法
查看>>
LogParser 导入MSSQL
查看>>
linux安装go环境并编写第一个go程序
查看>>
CentOS之crontab
查看>>
【在线研讨-现场文字】《敏捷开发用户故事分类与组织结构(二期-3)》2012-07-03...
查看>>
易语言 --什么情况下 用许可证
查看>>
项目总结:凡事预则立,不预则废!
查看>>
建属于自己的网站
查看>>
[linux] ubuntu 切换默认的/bin/sh
查看>>
boost库之智能指针
查看>>
linux c/c++ GDB教程详解(转载)
查看>>