Java字符集【ASCII,GBK,Unicode】

news2024/11/14 18:09:03

1.常见字符集

        1.标准ASCII字符集

                美国信息交换标准代码,包括了英文、符号等。

                标准ASCII使用1个字节存储一个字符,首位是0,总共可表示128个字符,对美国人来说完全够用。

        

        2.GBK(汉字内码扩展规范,国标)

                GBK中一个中文字符编码成两个字节的形式存储

                注意:GBK兼容了ASCII字符集。

                注意:GBK规定:汉字的第一个字节的第一位必须是1

        3.Unicode字符集

                Unicode是国际组织制定的,可以容纳世界上所有文字、符号的字符集。

                UTF-8:是Unicode字符集的一种编码方案,采取可变长编码方案,共分四个长度区:1个字节,2个字节,3个字节,4个字节

                英文字符、数字等只占1个字节(兼容标准ASCII编码),汉字字符占用3个字节。

         4.注意事项       

                字符编码时使用的字符集,和解码时使用的字符集必须一致,否则会出现乱码

                英文,数字一般不会乱码,因为很多字符集都兼容了ASCII编码

        总结:

                ASCII字符集:只有英文、数字、符号等,1个字节

                lGBK字符集:汉字占2个字节,英文、数字占1个字节

                UTF-8字符集:汉字占3个字节,英文、数字占1个字节

2.字符集的编码、解码操作

                

package com.itheima.day09.teacher.io;

import java.io.UnsupportedEncodingException;
import java.util.Arrays;

public class ChangeCodeDemo {

    /*
      完成编码和解码
         编码
           将字符按照指定的字符集 转换成 字节。
         解码
           将字节按照指定的字符集 转换成 字符。
       String中提供 编码和解码的方法
     */
    public static void main(String[] args) throws UnsupportedEncodingException {
        //编码  字符串--字节数组
        String str = "a我b";
        // getBytes() 按照默认字符集
        byte[] bytes = str.getBytes();
        System.out.println(bytes.length);
        System.out.println(Arrays.toString(bytes));
        // getBytes(String charsetName) 按照指定字符集
        byte[] gbks = str.getBytes("GBK");
        System.out.println(gbks.length);//4
        System.out.println(Arrays.toString(gbks));

        // 将字节按照指定的字符集 转换成 字符。解码操作
        // 字节---字符    字节数组---字符串
        //  String 有构造   String(byte[] bytes)// 将字节数组按照默认的字符集 进行转换成 字符串
        String s1 = new String(bytes);//按照 默认字符集
        System.out.println(s1);

        String s2 = new String(gbks);//按照A的方式编码 按照B的方式解码 会出现乱码
        System.out.println(s2);

        //  String 有构造   String(byte[] bytes,String charsetName)// 将字节数组按照指定的字符集 进行转换成 字符串
       String s3 = new String(gbks,"gbk");
        System.out.println(s3);

    }
}

                

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1464364.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

时域相位分析技术 和空域相位分析技术

l) 时域相位分析技术 在光 学测量 的许 多情况 下 , 时变图像信 号 的背景光 强 与调制 度可 以看作是 常 数 ,并且 其光 强 随时 间 的变化也满足 正 弦条件 。 那 么针 对某 一 空 间采样 点 (x ,y) , 某时刻 采 集到 的光 强 可…

PYTHON-使用正则表达式进行模式匹配

目录 Python 正则表达式Finding Patterns of Text Without Regular ExpressionsFinding Patterns of Text with Regular ExpressionsCreating Regex ObjectsMatching Regex ObjectsReview of Regular Expression MatchingMore Pattern Matching with Regular ExpressionsGroupi…

基于springboot+vue的酒店客房管理系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

【数据结构初阶 6】二叉树:堆的基本操作 + 堆排序的实现

文章目录 🌈 Ⅰ 二叉树的顺序结构🌈 Ⅱ 堆的概念与性质🌈 Ⅲ 堆的基本操作01. 堆的定义02. 初始化堆03. 堆的销毁04. 堆的插入05. 向上调整堆06. 堆的创建07. 获取堆顶数据08. 堆的删除09. 向下调整堆10. 判断堆空 🌈 Ⅳ 堆的基本…

【Git企业实战开发】Git常用开发流操作总结

【Git企业实战开发】Git常用开发流操作总结 大家好 我是寸铁👊 总结了一篇Git常用开发流操作总结的文章✨ 喜欢的小伙伴可以点点关注 💝 现在刚做项目的伙伴,可能你之前学过git,但是一实战发现不熟悉 没关系,看寸铁这篇…

色彩搭配:打造视觉吸引力与用户体验的关键

title: 色彩搭配:打造视觉吸引力与用户体验的关键 date: 2024/2/22 12:01:11 updated: 2024/2/22 12:01:11 tags: 网站色彩搭配视觉吸引力品牌形象用户体验设计色彩心理学配色技巧色轮互补 在当今数字化时代,网站已经成为了人们获取信息、进行交流和进行…

fatal error: costmap_2d/keepOutZone.h

fatal error: costmap_2d/keepOutZone.h: No such file or directory 7 | #include "costmap_2d/keepOutZone.h" 解决: #include "costmap_plugins/keepOutZone.h"代码中搜索 costmap_2d,全部替换成costmap_plugins&#xff1b…

【Unity】Unity与安卓交互

问题描述 Unity和安卓手机进行交互,是我们开发游戏中最常见的场景。本教程将从一个简单的例子来演示一下。 本教程需要用到Android Studio2021.1.1 1.Android Studio新建一个工程 2.选择Empty Activity 然后点击Next 3.点击Finish完成创建 4.选择File-New-New Mo…

Less预处理器教程

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/frontlearningNotes 觉得有帮助的同学,可以点心心支持一下哈 一、Less介绍 less官方文档 lesscss.org/ less中文文档 less.bootcss.com/ less是一种css预处理器,它扩展了css语言&#xff0c…

用Python插入页码到PDF文档

页码是许多类型文件中的重要内容,它能方便读者在文档中的导航。在创建PDF文档时,添加页码对于组织和引用内容特别有用。在本文中,我们将探讨如何利用Python程序高效地插入页码到PDF文档中,简化工作流程并创建出精美、结构合理的PD…

Eureka注册中心(黑马学习笔记)

Eureka注册中心 假如我们的服务提供者user-service部署了多个实例,如图: 大家思考几个问题: order-service在发起远程调用的时候,该如何得知user-service实例的ip地址和端口? 有多个user-service实例地址&#xff0c…

从 Elasticsearch 到 Apache Doris,统一日志检索与报表分析,360 企业安全浏览器的数据架构升级实践

导读:随着 360 企业安全浏览器用户规模的不断扩张,浏览器短时间内会产生大量的日志数据。为了提供更好的日志数据服务,360 企业安全浏览器设计了统一运维管理平台,并引入 Apache Doris 替代了 Elasticsearch,实现日志检…

Sulfo Cyanine3 dCTP,磺化-Cy3-dCTP,可以实时监测DNA的合成过程

Sulfo-Cy3-dCTP,Sulfo Cyanine3 dCTP,磺化-Cy3-dCTP,可以实时监测DNA的合成过程 您好,欢迎来到新研之家 文章关键词:Sulfo-Cy3-dCTP,Sulfo Cyanine3 dCTP,磺化-Cy3-dCTP 一、基本信息 产品简…

隐藏饿了么el-select组件的el-select-dropdown部分,只使用el-select的显示框

隐藏饿了么el-select组件的el-select-dropdown部分,只使用el-select的显示框 问题: 由于el-select组件的el-select-dropdown部分是自动插入在最外层Body上的,所以在当前组件的scoped中让el-select-dropdown组件display:none不会生效所以需要: :popper-…

企业数字化转型必备:大数据如何助力企业腾飞?

随着数字技术的迅猛发展,企业数字化转型已经成为一种不可逆转的趋势。在这个过程中,大数据扮演了至关重要的角色。那么,大数据究竟如何助力企业腾飞呢?接下来,我们将从多个角度深入剖析。 一、大数据助力企业精准决策 …

【MySQL】数据库索引详解 | 聚簇索引 | 最左匹配原则 | 索引的优缺点

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

糖尿病性视网膜病变(DR)的自动化检测和分期

糖尿病性视网膜病变&#xff08;DR&#xff09;的自动化检测和分期 提出背景DR的阶段及其特征 历年解法计算机视觉方法多分类方法 新的解法深度学习方法迁移学习大模型多模型集成全流程分析 总结特征1&#xff1a;图像分割特征2&#xff1a;疾病分级特征3&#xff1a;治疗建议生…

邻接矩阵乘法 最短距离

问题一 最短距离 先从一个问题说起&#xff0c;输入 [4, 1, 4, 6, 4, 0, 6]代表依赖关系&#xff0c;从1开始&#xff0c;0代表ROOT节点。第二个元素为1代表第二个term在依赖树上的父节点为第1个term。​ 输出​ [[0 1 0 0 0 0 0]​ [0 0 0 0 0 0 0]​ [0 0 0 0 0 0 0]​ [1 …

【Java从入门到精通】Java Character 类

Java Character 类 Character 类用于对单个字符进行操作。 Character 类在对象中包装一个基本类型 char 的值 实例 char ch a;// Unicode 字符表示形式 char uniChar \u039A; // 字符数组 char[] charArray { a, b, c, d, e }; 然而&#xff0c;在实际开发过程中&#xf…

STM32—触摸键

目录 1 、 电路构成及原理图 2 、编写实现代码 3、代码讲解 4、烧录到开发板调试、验证代码 5、检验效果 此笔记基于朗峰 STM32F103 系列全集成开发板的记录。 1 、 电路构成及原理图 触摸键简单的了解就是一次电容的充放电过程。从原理图可以看出&#xff0c;触摸键 …