文档章节

字符编码转换【UTF-8 to GB2312】

尘叙缘
 尘叙缘
发布于 2016/03/16 23:55
字数 108
阅读 14
收藏 0

GB2312中一个汉字是16位,而UTF-8中一个汉字是24位,将UTF-8 转换成GB2312

public static String utf8Togb2312(String str){
    StringBuffer sb = new StringBuffer();
    for (int i = 0; i < str.length(); i++){
        char c = str.charAt(i);
        switch(c){
            case '+':
                sb.append(' ');
                break;
            case '%':
                try{
                    sb.append((char)Integer.parseInt(str.substring(i+1,i+3),16));
                } catch (NumberFormatException e){
                    throw new IllegalArgumentException();
                }
                i += 2;
                break;
            default:
                break;
        }
    }
    
    String result = sb.toString();
    String res = null;
    
    try{
        byte[] inputBytes = result.getBytes("UTF-8");
        res = new String(inputBytes,"GB2312");
    } catch(Exception e){
        e.printStack();
    }
    
    return res;
}


© 著作权归作者所有

尘叙缘
粉丝 9
博文 106
码字总数 88164
作品 0
深圳
程序员
私信 提问
Java 应用中,各种编码问题知识点梳理

参考资料: java 类里判断字符串是iso-8859-1还是gb2312,utf-8,gbk等,判断编码类型 1、判断字符串编码类型 System.out.println(java.nio.charset.Charset.forName("GB2312").newEncoder().c......

hiqj
2014/10/17
44
0
utf-8、unicode、gbk、gb2312、ANSI编码的区别

utf-8、unicode、gbk、gb2312编码的区别 utf-8 先来看看百度的解释: 一种针对Unicode的可变长度字符编码,又称万国码。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码Unicode字符。用在网...

code_ac
2017/05/08
0
0
关于字符集和字符编码的问题

在系统管理或一些软件管理中,总是碰到需要设置字符集或字符编码的地方,如果设置不正确,可能产生许多意想不到的问题。 但是在具体概念上,不仅自己,网络上也有很多人不太理解“字符集”和...

wuwei5460
2014/02/24
0
0
iconv 文件编码转换

http://qq164587043.blog.51cto.com/261469/63349 linux shell 配置文件中默认的字符集编码为UTF-8 。UTF-8是unicode的一种表达方式,gb2312是和unicode都是字符的编码方式,所以说gb2312跟...

元禛慎独
2016/09/28
42
0
php URLEncode() / php URLEncode函数 php urldecode...

理解URLEncode: URLEncode:是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu、Google等搜索引擎中输入中文查询时候,生成经过 Encode过的网页URL。URLEncode的方式一般有...

雾渺
2011/09/26
383
0

没有更多内容

加载失败,请刷新页面

加载更多

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
9
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
939
11
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部