黑马程序员--编码(重点,不可不知。)
来源:互联网 发布:java继承作用 编辑:程序博客网 时间:2024/05/17 08:27
----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------
Encode编码。
编码:字符串变成字节数组。
解码:字节数组变成字符串。
String-->byte[]; str.getBytes(charsetName);
byte[] -->String: new String(byte[],charsetName);
结论。解码先用ios8859-1,再用gbk,最后用utf-8。
因为用utf-8去解码。如果解错了数据就无法还原了。
编码的话。如果有英文有汉字。汉字多就用GBK英文多就用utf-8。
如果全是英文就用iso8859-1。
import java.util.*;class EncodeDemo{public static void main(String[] args)throws Exception {encode();encode2();encode3();}public static void encode()throws Exception{String s = "你好";//用utf-8解码错误byte[] b1 = s.getBytes("GBK");//这里会产生异常。System.out.println(Arrays.toString(b1));String s1 = new String(b1,"utf-8");//这里会产生异常。System.out.println("s1="+s1);//重新编码,再用gbk解码。byte[] b2 = s1.getBytes("utf-8");System.out.println(Arrays.toString(b2));String s2 = new String(b2,"gbk");System.out.println("s2="+s2);}public static void encode2()throws Exception{String s = "你好";//用iso8859-1解码错误byte[] b1 = s.getBytes("GBK");//这里会产生异常。System.out.println(Arrays.toString(b1));String s1 = new String(b1,"iso8859-1");//这里会产生异常。System.out.println("s1="+s1);//重新编码,再用gbk解码。byte[] b2 = s1.getBytes("iso8859-1");System.out.println(Arrays.toString(b2));String s2 = new String(b2,"gbk");System.out.println("s2="+s2);}public static void encode3()throws Exception{String s = "你好";//用gbk解码错误byte[] b1 = s.getBytes("utf-8");//这里会产生异常。System.out.println(Arrays.toString(b1));String s1 = new String(b1,"gbk");//这里会产生异常。System.out.println("s1="+s1);//重新编码,再用utf-8解码。byte[] b2 = s1.getBytes("gbk");System.out.println(Arrays.toString(b2));String s2 = new String(b2,"utf-8");System.out.println("s2="+s2);}}
----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------
0 0
- 黑马程序员--编码(重点,不可不知。)
- 黑马程序员---代理(重点)
- 黑马程序员--javabean(重点)
- 黑马程序员---网络编程(重点)
- 黑马程序员---反射和JavaBean(重点)
- 黑马程序员--正则表达式(重点)
- 程序员不可不知的 开源协议
- C++程序员不可不知的知识
- 程序员不可不知的eclipse操作快捷键
- 程序员不可不知的eclipse操作快捷键
- 程序员不可不知的英文词汇(1)
- 程序员不可不知的英文词汇(2)
- 程序员不可不知的英文词汇(3)
- 程序员不可不知的英文词汇(4)
- 程序员不可不知的英文词汇(5)
- 程序员不可不知的英文词汇(6)
- 程序员不可不知的英文词汇(7)
- 程序员不可不知的版权协议
- VMware下ubuntu上网设置2
- java获取classpath路径
- Oracle “CONNECT BY” 使用
- unity3d 新版本功能思考
- 如何编写firefox插件
- 黑马程序员--编码(重点,不可不知。)
- dojo实现表格数据无法展示
- 基于visual Studio2013解决面试题之1403插入排序
- 从实践理解设计
- 细说促销(淘宝销售可看)
- 黑马程序员--TCP,UDP,URL。(很简单,都有固定的格式)
- 解决negix+tomcat均衡负载session共享问题
- 各种抗锯齿模式略解:SSAA MSAA CSAA CFAA
- Parcelable接口的使用