常用字符编码及乱码分析[通俗易懂]

常用字符编码及乱码分析[通俗易懂]常见的编码GBK、GB2312:表示国标编码,GDB包含简体中文和繁体中文,而DB2312只包含简体中文,也就是说,这两种编码都是描述中文的编码UNICODE编码:Java提供的16进制编码,可以描述世界上任意的文字信息,但是有个问题,若现在所有的字母都使用16进制编码,那么这个编码太庞大了,会造成网络传输的负担ISO8859-1:国际通用编码,但是所有的编码都需要进行转换UTF编码:相…

大家好,又见面了,我是你们的朋友全栈君。

常见的编码

  1. GBK、GB2312:表示国标编码,GDB包含简体中文和繁体中文,而DB2312只包含简体中文,也就是说,这两种编码都是描述中文的编码
  2. UNICODE编码:Java提供的16进制编码,可以描述世界上任意的文字信息,但是有个问题,若现在所有的字母都使用16进制编码,那么这个编码太庞大了,会造成网络传输的负担
  3. ISO8859-1:国际通用编码,但是所有的编码都需要进行转换
  4. UTF编码:相当于结合了UNOICODE、ISO8859-1,也就是需要用到16进制文字使用UNICODE,而若只是字母就使用ISO8859-1,常用的就是UTF- 8

乱码产生分析

若本地系统所用的编码和程序所用的编码不同,强制转换就会出现乱码

public class analyzeMessyCode {
    public static void main(String[] args) throws IOException {
        FileOutputStream fileOut = new FileOutputStream
                (new File("C:\\Users\\Administrator\\Downloads\\file1.txt"));
        fileOut.write("hello world".getBytes("ISO8859-1"));
        fileOut.close();
    }
}

乱码产生的原因:编码和解码不统一产生的问题

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/139718.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Eclipse背景颜色修改

    Eclipse背景颜色修改Eclipse背景颜色修改: 操作界面默认颜色为白色。对于我们长期使用电脑编程的人来说,白色很刺激我们的眼睛,所以我经常会改变workspace的背景色,使眼睛舒服一些。设置方法如下: 1、打开window->Preference,弹出Preference面板 2、展开General标签,选中Editors选项,展开。 3、选中TestEditors,右边出现Test

  • 时间轮java实现「建议收藏」

    时间轮java实现「建议收藏」时间轮java实现一、java调度方法:前言在开发高性能服务器中,定时器总是不可或缺的。常见的定时器实现三种,分别是:排序链表,最小堆,时间轮。之前用的定时器是基于最小堆的,如果程序中的定时器数量比较少,基于最小堆的定时器一般可以满足需求,且实现简单。Timer,ScheduledExecutorService时间复杂度O(log(n))因为它们使用的是最小堆的对排…

  • java面试题:voliate底层原理——详解

    java面试题:voliate底层原理——详解1.voliate底层原理1.1voliate变量的特点可见性:当一个线程修改了声明为volatile变量的值,新值对于其他要读该变量的线程来说是立即可见的。有序性:volatile变量的所谓有序性也就是被声明为volatile的变量的临界区代码的执行是有顺序的,即禁止指令重排序。受限原子性:volatile变量不可保证原子性1.2voliate如何实现变量多线程安全?实际上,voliate实现多线程情况下的变量安全其实就是通过以下两个方式:1)实现变量可见性2)禁止指令重

  • restful接口定义_主板上的spi接口接什么

    restful接口定义_主板上的spi接口接什么由于在实际项目中碰到的restful服务,参数都以json为准。这里我获取的接口和传入的参数都是json字符串类型。发布restful服务可参照文章http://www.cnblogs.com/jav

  • Win10 桌面美化

    Win10 桌面美化Win10桌面美化最近发现了几款Win10界面美化的软件,看了看别人家的Win10操作界面,瞬间觉得自己的low了,关键是赏心悦目啊!废话不多说,先看看我原来桌面和美化后的桌面对比图原始桌面美化桌面1.安装RocketDockRocketDock可以提供类似macos的操作系统图标特效,打开安装包进行安装,完毕后启动得到效果如下:可以发现切换效果与mac类似,他默认的主题是C…

  • MacBook安装Windows_macbookpro安装双系统

    MacBook安装Windows_macbookpro安装双系统MacBook安装Redis官方下载地址:https://redis.io/download官方提供安装的相关命令了#下载redis包wgethttp://download.redis.io/releases/redis-4.0.10.tar.gz#解压tar-zxvfredis-4.0.10.tar.gz#进入目录cdredis-4.0.10#编译make#启动redis服务src/redis-server#启动redis客户端连接src/redis-cli

    2022年10月23日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号