java中改变字符串编码
经常因为字符编码的问题而去网上搜一些改变字符编码的东西,很麻烦,这次总结了一下比较全的改变字符编码的方法以供参考。代码如下:
代码块
import java.io.UnsupportedEncodingException;public class CharsetUtil {/** 7位ASCII字符,也叫作ISO646-US、Unicode字符集的基本拉丁块 */public static final String US_ASCII = "US-ASCII";/** ISO 拉丁字母表 No.1,也叫作 ISO -LATIN -1 */public static final String ISO_8859_1 = "ISO-8859-1";/** 8 位 UCS 转换格式 */public static final String UTF_8 = "UTF-8";/** 16 位 UCS 转换格式,Big Endian(最低地址存放高位字节)字节顺序 */public static final String UTF_16BE = "UTF-16BE";/** 16 位 UCS 转换格式,Little-endian (最高地址存放低位字节)字节顺序 */public static final String UTF_16LE = "UTF-16LE";/** 16 位 UCS 转换格式,字节顺序由可选的字节顺序标记来标识 */public static final String UTF_16 = "UTF-16";/** 中文超大字符集 */public static final String GBK = "GBK";/*** 将字符编码转换成US -ASCII码*/public String toASCII(String str) throws UnsupportedEncodingException{return this.changeCharset(str, US_ASCII);}/*** 将字符编码转换成ISO -8859 -1码*/public String toISO_8859_1(String str) throws UnsupportedEncodingException{return this.changeCharset(str, ISO_8859_1);}/*** 将字符编码转换成UTF -8码*/public String toUTF_8(String str) throws UnsupportedEncodingException{return this.changeCharset(str, UTF_8);}/*** 将字符编码转换成UTF -16BE码*/public String toUTF_16BE(String str) throws UnsupportedEncodingException{return this.changeCharset(str, UTF_16BE);}/*** 将字符编码转换成UTF -16LE码*/public String toUTF_16LE(String str) throws UnsupportedEncodingException{return this.changeCharset(str, UTF_16LE);}/*** 将字符编码转换成UTF -16码*/public String toUTF_16(String str) throws UnsupportedEncodingException{return this.changeCharset(str, UTF_16);}/*** 将字符编码转换成GBK码*/public String toGBK(String str) throws UnsupportedEncodingException{return this.changeCharset(str, GBK);}/*** 字符串编码转换的实现方法* @param str 待转换编码的字符串* @param newCharset 目标编码* @return* @throws UnsupportedEncodingException*/public String changeCharset(String str, String newCharset)throws UnsupportedEncodingException {if (str != null) {//用默认字符编码解码字符串。byte[] bs = str.getBytes();//用新的字符编码生成字符串return new String(bs, newCharset);}return null;}/*** 字符串编码转换的实现方法* @param str 待转换编码的字符串* @param oldCharset 原编码* @param newCharset 目标编码* @return* @throws UnsupportedEncodingException*/public String changeCharset(String str, String oldCharset, String newCharset)throws UnsupportedEncodingException {if (str != null) {//用旧的字符编码解码字符串。解码可能会出现异常。byte[] bs = str.getBytes(oldCharset);//用新的字符编码生成字符串return new String(bs, newCharset);}return null;}
}
其中changeCharset 改变的是系统的默认编码,可用这种方法获取从浏览器中getPost获取的数据
userid = charset.changeCharset(userid,"ISO-8859-1","UTF-8");
java中改变字符串编码相关推荐
- [转载] Java中的字符串处理
参考链接: Java中的StringBuffer appendCodePoint()方法以及示例 JDK8在线Api中文手册 JDK8在线Api英文手册 Java中的字符串处理 1.1 String类 ...
- Java中的字符串程序
String is the most widely used class in java programming. That's why String programs are used in jav ...
- 图说:为什么Java中的字符串被定义为不可变的
转载自 图说:为什么Java中的字符串被定义为不可变的 字符串,想必大家最熟悉不过了,通常我们在代码中有几种方式可以创建字符串,比如:String s = "Hollis";这时, ...
- java 转码%2f%_JS和JAVA中常用的编码转码函数
js中escape,encodeURI,encodeURIComponent函数和unescape,decodeURI和decodeURIComponent函数的功能 1.escape方法对Strin ...
- java输入一串字符串反转_反转Java中的字符串
java输入一串字符串反转 Reverse a String in java is a good coding related interview question. I have seen inte ...
- java中判断字符串实际长度(中文2个字符,英文1个字符)的方法,包含中英文符号
java中判断字符串实际长度(中文2个字符,英文1个字符)的方法,包含中英文符号 介绍 数据库中很多字段都会限制长度,为了方便用户使用,在前端界面给出限制长度的提示,看网上很多写的获取字符串长度都没有 ...
- 字符串压缩 java_如何在Java中压缩字符串?
如何在Java中压缩字符串? 我使用GZIPOutputStream或ZIPOutputStream压缩字符串(我的2222235278130938882小于20),但压缩结果比原始字符串长. 在某个 ...
- Java中获取GBK编码汉字的拼音首字母(包括生僻字)
Java中获取GBK编码汉字的拼音首字母(包括生僻字) 前言 代码 结果 前言 网上关于Java中获取汉字的拼音首字母的方法很多,但大多基于GB2312的汉字所属编码位置判断方法,现有一种基于GBK编 ...
- java 中操作字符串都有哪些类?它们之间有什么区别?
java 中操作字符串都有哪些类?它们之间有什么区别? String.StringBuffer.StringBuilder String : final修饰,String类的方法都是返回new Str ...
最新文章
- 一个DIV调用多个CSS样式
- webpage not available是什么意思_MySQL很想啊,为什么还要有noSQL?
- Android layout布局属性、标签属性总结大全
- POJ 3320 Jessica's Reading Problem (尺取)
- [云炬创业管理笔记]第一章测试3
- *【洛谷 - P1025】数的划分(dfs 或 dp 或 母函数,第二类斯特林数Stirling)
- matlab字符串数组里里固定格式的内容,字符串数组和字符数组中的文本
- 红米note3支持html,红米Note3什么配置参数?红米Note3标配有什么?
- php打开retmsg,PHP截取发动短信内容的方法
- 织梦本地调试运行PHP不显示图片,织梦CMS手机端不显示图片的原因及解决方法!...
- Java-密钥keytool及KeyStore的使用
- STM32学习心得三十一:485通信原理及实验
- java实现网页结构分析,网页列表发现
- 前端性能优化-优化大量图片加载超大图片加载(附懒加载实现方案)
- wifi虚拟服务器怎么设置方法,虚拟路由器如何设置
- python斜杠用法_Python中正反斜杠(‘/’和‘\’)的意义与用法
- 带你开发个转盘抽奖小游戏【附源码】
- CAD与3D建模软件:有什么区别?
- 匿名软件竟成网络侵权避风港
- archlinux配置conky
热门文章
- SAP移动类型103解析
- 逐鹿东南亚,Lazada增长飞轮再加速
- 《庆余年》,腾讯视频、爱奇艺为“互联网黑产”背锅的一出戏
- 安卓存储性能测试软件,安卓版PCMark存储性能测试:魅族Pro 5/Pro 6都逆袭S7 edge了...
- 一分钟教你学会python_十分钟教你学会python编写小游戏
- 苹果a10处理器_iPhone运行安卓系统卡成翔,苹果A系处理器彻底跌落神坛!
- 俄罗斯计算机科学留学,中南大学计算机科学与技术、俄罗斯硕士留学有没有寒暑假班?...
- java项目大小_Java项目仅在调整窗口大小之后出现
- python测量不确定度_chaospy-不确定度量化的数值工具-Jonathan Feinberg Installation Example Usage...
- 【Python教程】读写ini配置文件的详细操作