Java Io 之 编码
Java字符串编码一些知识总结:
package com.dcz.io; import java.io.UnsupportedEncodingException; public class EncodeDemo { public static void main(String[] args) throws UnsupportedEncodingException { String str = "中国ABC";
// 转换成字节数组是项目默认的编码GBK
byte[] byteArray = str.getBytes();
for(byte b : byteArray){
System.out.print(Integer.toHexString(b & 0xff) + " ");
} System.out.println(); // 显示转换为GBK编码
byte[] byteArray2 = str.getBytes("gbk");
for(byte b: byteArray2){
System.out.print(Integer.toHexString(b & 0xff) + " ");
} System.out.println(); // 显示转换为UTF-8编码(在UTF-8编码中,中文占用3个字节,英文占用一个字节)
byte[] byteArray3 = str.getBytes("utf-8");
for(byte b : byteArray3){
System.out.print(Integer.toHexString(b & 0xff) + " ");
} System.out.println(); // 显示转换为UTF-16be(在此编码上,中文和英文各站两个字节)
byte[] byteArray4 = str.getBytes("utf-16be");
for(byte b : byteArray4){
System.out.print(Integer.toHexString(b & 0xff) + " ");
} /**
* 当你的字节序列是某种编码时候,想把字节序列变成字符串也需要使用某种编码,否则乱码。
*/ System.out.println(); // 乱码原因是由于转换和反转编码不统一
String str1 = new String(byteArray3);
System.out.println(str1); // 不乱码原因是由于转换和反转使用了统一格式编码
String str2 = new String(byteArray3, "utf-8");
System.out.println(str2); } }
总结:从上面的测试代码中可以了解到字符乱码是和字符编码有直接关系。
Java Io 之 编码的更多相关文章
- java IO之 编码 (码表 编码 解码 转换流)
编码 什么是编码? 计算机中存储的都是二进制,但是要显示的时候,就是我们看到的却可以有中国 ,a 1 等字符 计算机中是没有存储字符的,但是我们却看到了.计算机在存储这些信息的时候,根据一个有规 则 ...
- Java—IO流 文件的编码
文件的编码 package cn.test; import java.io.UnsupportedEncodingException; public class Demo15 { public sta ...
- java.IO输入输出流:过滤流:buffer流和data流
java.io使用了适配器模式装饰模式等设计模式来解决字符流的套接和输入输出问题. 字节流只能一次处理一个字节,为了更方便的操作数据,便加入了套接流. 问题引入:缓冲流为什么比普通的文件字节流效率高? ...
- Java IO之字符流和文件
前面的博文介绍了字节流,那字符流又是什么流?从字面意思上看,字节流是面向字节的流,字符流是针对unicode编码的字符流,字符的单位一般比字节大,字节可以处理任何数据类型,通常在处理文本文件内容时,字 ...
- java IO流详解
流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- Java IO流学习总结
Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- java IO流 之 字符流
字符是我们能读懂的一些文字和符号,但在计算机中存储的却是我们看不懂的byte 字节,那这就存在关于字符编码解码的问题.所以在学习Io流的字符流前我们先了解些关于编码问题. 一.字符集与字符编码 1.什 ...
- java IO流 之 字节流
一.file类的常用操作 File file=new File("E:\\test\\javaIo"); System.out.println(file.isDirectory() ...
- Java IO工作机制分析
Java的IO类都在java.io包下,这些类大致可分为以下4种: 基于字节操作的 I/O 接口:InputStream 和 OutputStream 基于字符操作的 I/O 接口:Writer 和 ...
随机推荐
- TeamViewer12.0.71503(远程控制软件)精简版单文件企业版介绍
TeamViewer 是一款能在任何防火墙和 NAT 代理的后台用于远程控制,桌面共享和文件传输的简单且快速的解决方案.为了连接到另一台计算机,只需要在两台计算机上同时运行 TeamViewer 即可 ...
- Apache和Nginx配置支持苹果ATS方法
什么是ATS功能? ATS是iOS9和OS X El Capitan的一个新特性.开启该功能后,ATS对使用NSURLConnection, CFURL或NSURLSession 等APIs 进行的网 ...
- js正则匹配浮点数或整数
var pos='point(12.4 -45.423453)';var re = /([+]\d+[.]\d+|[-]\d+[.]\d+|\d+[.]\d+|[+]\d+|[-]\d+|\d+)/i ...
- Python学习笔记——基本语法
1.程序输出——print语句 >>> myString = 'Hello World!' >>> print myString Hello World! > ...
- HTML学习笔记——box
1> HTML写法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http: ...
- JavaWeb文件下载,提示用户保存而不是让浏览器直接打开
1.通过HttpServletResponse对象实现文件下载 服务端向客户端游览器发送文件时,如果是浏览器支持的文件类型,一般会默认使用浏览器打开,比如txt.jpg等,会直接在浏览器中显示,如果需 ...
- Tips for writing a paper
Tips for writing a paper 1. Tips for Paper Writing 2.• Before you write a paper • When you are writi ...
- typedef和#define的用法与区别
typedef和#define的用法与区别 typedef和#define的用法与区别 一.typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程 ...
- C#----对时间结构DateTime的使用(时间日期的使用)
1.其初始化时间是0001--0--0 0:0:0 class Program { DateTime dt; static void Main(string[] args) { Program pp ...
- C#--网络流Stream、字节数组保存到字符串中
第一种方法: HttpWebRequest httpwebr = (HttpWebRequest)HttpWebRequest.Create(rstr); httpwebr.Method = &quo ...