字符编码|学习笔记

简介: 快速学习 字符编码

开发者学堂课程【Java 高级编程字符编码】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/20/detail/320


字符编码


内容简介


一、 列出本机属性

二、 编写程序

三、 强制性设置编码

 

一、 列出本机属性

在计算机的世界里面,只认 0、1 的数据,如果要想描述一些文字的编码,就需要对这些二进制的数据进行组合,所以才有了现在可以看见的中文。

但是在进行编码的时候,如果要想正确解释出内容,则一定需要有解码,所以编码和解码肯定要采用同一标准,如果不统一的时候,就会出现乱码。

所以编码的统一是解决出现乱码的唯一途径。那么在实际的开发之中,对于常用的编码,有如下几种:

1、GBK/GB2312 国标编码,可以描述中文信息,其中 GB2312 只描述简体中文,而 GBK 包含有简体中文与繁体中文。

 

2、ISO8859_1 国际通用编码,可以描述所有文字信息,但如果处理不当,也会出现乱码。

3、Unicode 编码采用 16 进制的方式存储,可以描述所有的文字信息。其有一个最大的缺点就是大。

4、UTF 编码象形文字部分使用16进制编码,而普通的字母采用的是 ISO8859-1 编码,它的优势在于适合于快速的传输,节约带宽,这也就成为了在开发之中首选的编码。存在 UTF16 和 UTF_8,其中主要使用 utf-8 编码。

 

如果要想知道当前系统中支持的编码规则,则可以使用如下代码列出全部的本机属性。

 

范例:列出本机属性

package cn.mldn.demo;

public class JavaAPIDemo {

public static void main(String[] args) throws Exception

System.getProperties().list(System.out);

}

}

 

 

以上信息都属于本机的操作属性,其中包括文件路径分割符、文件默认编码方式,也就是说如果现在什么都不设置,则采用的编码就是 Utf-8。

 

二、 编写程序

范例:编写程序

package cn.mldn.demo;

public class JavaAPIDemo {

public static void main(String[] args) throws Exception {

import java.io.FileOutputStream;

import java.io.OutputStream;

public class JavaAPIDemo {

public static void main(String[] args) throws Exception {

OutputStream output = new FileOutputStream("D:" + File.separato

output.write(”中华人民共和国万y"RetB)~~

 

此时没有设置编码,代码运行结果还是正常编码。此时为默认的处理操作,所以可以正常进行显示,不设置编码的时候,就将采用默认的编码方式进行。

 

三.强制性设置编码

范例:强制性设置编码

import java.io.File;

import java.io.FileoutputStream;

import java.io.OutputStream;

public class JavaAPIDemo {

public static void main(String[] args)throws Exception {

OutputStream output = new FileOutputStream("D:" + File.separatoroutput.write(“中华人民共和国万岁".getBytes("UTF-s"));

Ioutput.close();

 

代码仍然是正常执行。因为强制设置的编码也还是默认编码,但如果设置其他编码,就将会出现乱码。

getByte(“ISO8859-1”));

 

项目中出现的乱码问题,就是编码和解码标准不统一,而最好的解决乱码的方式,所有的编码都用 Utf-8。

相关文章
|
3月前
|
存储 JavaScript Java
[字符编码] 理论篇:常见字符集与编码方式
[字符编码] 理论篇:常见字符集与编码方式
110 0
|
存储 Java 关系型数据库
【精炼易懂】字符集、编码、乱码问题、ASCII、GBK、Unicode、UTF-8详解+实例说明
【精炼易懂】字符集、编码、乱码问题、ASCII、GBK、Unicode、UTF-8详解+实例说明
5482 4
|
存储 编解码 算法
字符编码的前世今生
字符编码的前世今生
154 0
|
存储 XML SQL
字符编码与使用中的问题
作为中文环境下开发的Java程序员,UTF-8编码是我们经常使用的编码方式。 字符编码是怎么来的?为什么使用UTF-8编码?使用字符编码的时候回遇到什么坑? 这些问题你遇到过或者思考过吗。
139 0
|
存储 Java 关系型数据库
【技术干货】理解Unicode字符编码
本文对字符编码Unicode以及UTF8和UTF16的编码原理进行了详细说明
597 1
基础知识 - 常见字符编码
基础知识 - 常见字符编码
117 0
基础知识 - 常见字符编码
|
存储 编解码 Windows
理解字符编码
理解字符编码
理解字符编码
|
存储 自然语言处理 JavaScript
【字符编码】彻底理解字符编码
在解决昨天的问题时,又引出了很多新的问题,如为什么要进行编码,这些编码的关系如何,如ASCII,IOS-8859-1,GB2312,GBK,Unicode之间的关系,笔者想要彻底理解字符编码背后的故事,遂进行了探索,具体笔记如下。如园友能读完本篇文章,我相信会解开很多疑惑
270 0
【字符编码】彻底理解字符编码
|
存储 自然语言处理 JavaScript
【字符编码】彻底理解字符编码
 在解决昨天的问题时,又引出了很多新的问题,如为什么要进行编码,这些编码的关系如何,如ASCII,IOS-8859-1,GB2312,GBK,Unicode之间的关系,笔者想要彻底理解字符编码背后的故事,遂进行了探索,具体笔记如下。如园友能读完本篇文章,我相信会解开很多疑惑。
289 0
【字符编码】彻底理解字符编码
|
Java 开发者
字符编码(常用字符编码)|学习笔记
快速学习 字符编码(常用字符编码)
100 0