字符集与编码规则

字符集

强调:UTF-8是编码规则,不是字符集

过程:

字符 --查表获得对应数字,--编码

解码---查表----获取字符

ASCII码 :一个字节 8bit

GBK字符集(windows系统默认使用的GBK,系统显示ANSI)

存储规则:

GBK英文编码规则:

  • 英文用一个字节存储,完全兼容ASCII码
  • 不足8位,前面补0

GBK汉字编码规则:

  • 汉字两个字节存储
  • 高位字节二进制用1开头,转成十进制之后是一个负数

Unicode字符集

UTF-16编码规则:用2~4个字节保存

UTF-32编码规则:用4个字节保存

UTF-8编码规则:用1~4个字节保存

英文用1个字节,中文用3个字节表示

乱码:

原因:

  1. 读取数据时没有读完整个汉字
  2. 编码和解码的规则不统一

避免方法:

  1. 不要用字节流读取文件
  2. 编码时使用同一个编码规则,同一个码表

java中编码和解码的实现

public byte[] getByte(String charsetName) 使用指定的方式编码

public String(Byte[] bytes,String charSetName) 使用指定的方式解码

(不带参就使用默认编码,解码)

   @Test
    public void encode() throws UnsupportedEncodingException {
        String str = "无敌是多么寂寞";
        byte[] bytes= str.getBytes("UTF-8");
        String str1= new String(bytes,0,bytes.length,"GBK");
        System.out.println(str1);
    }

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

segment-anything安装教程

文章目录 一. segment-anything安装教程 一. segment-anything安装教程 官网安装说明:https://github.com/facebookresearch/segment-anything anaconda下新建一个环境 conda create -n sam python3.8激活新建的环境 conda activate sam更换conda镜像源 conda config --add ch…

如何靠掌握自己的大数据打破信息流的壁垒?

在当今数字化时代,打造自己的私域流量已经成为商家乃至获取竞争优势的关键手段之一。通过掌握自己的大数据,可以更好地了解用户需求和市场趋势,优化产品和服务,从而打破信息流的壁垒。本文将就如何通过打造自己的私域流量并掌握大…

ROS URDF集成Rviz流程

实现流程: 一、新建功能包,导入依赖 二、编写 urdf 文件 三、在 launch 文件集成 URDF 与 Rviz 四、在 Rviz 中显示机器人模型 需求:在 Rviz 中显示一个盒状机器人 1、创建功能包,导入依赖 创建一个新的功能包,名…

VMWare17配置自动启动虚拟机提示:无法更新“自动启动配置”,请确保存在vmAutoStart.xml文件,并且您有权写入此文件。

文章目录 配置的时候提示:无法更新“自动启动配置”,请确保存在vmAutoStart.xml文件,并且您有权写入此文件。需要修改vmAutoStart.xml这个文件权限对vmautostart.xml文件右键-->属性,选择编辑直接将完全控制的允许勾上&#xf…

工程师每日刷题 -4

文章目录 1、深度学习2、算法与数据结构2.1、暴力解法2.2、滑动窗口法 3、编程基础 1、深度学习 问题:CNN的本质和优势? CNN 本质上是一个多层感知机 (MLP),其成功的原因关键在于它所采用的【稀疏连接】(局部感受)和…

Android Studio Giraffe | 2022.3.1

Android Gradle 插件和 Android Studio 兼容性 Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件 (AGP) 添加了几项专用于构建 Android 应用的功能。下表列出了各个 Android Studio 版本所需的 AGP 版本。 Android Studio 版本所需的 AGP 版本I…

Python+Requests模块session处理和SSL证书处理关闭警告

session处理 部分接口需要先登录网址,才能有权限进行调用,这时可以使用到session,具体操作是:先使用网站 的登录api进行登录,得到session后,然后用该session来请求其它的接口。 示例代码: se…

实验 elk+filebeat+kafka

kafka 3.4.1 elkfilebeatkafka 实现日志收集 httpd1 mysql1 topic 2.7 3.0 关闭防火墙 systemctl stop firewalld systemctl disable firewalld setenforce 0 安装 JDK yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel java -version 安装 Zookeeper cd /…

C++作业3

设计一个Per类&#xff0c;类中包含私有成员:姓名、年龄、指针成员身高、体重&#xff0c;再设计一个Stu类&#xff0c;类中包含私有成员:成绩、Per类对象p1&#xff0c;设计这两个类的构造函数、析构函数和拷贝构造函数。 代码&#xff1a; #include <iostream>using n…

力扣5.最长回文子串

题目描述 思路 1.能够反复利用已判断好的回文子串 2.当子串s[i1,j-1]是回文子串时&#xff0c;只要s[i]s[j]&#xff0c;那么s[i,j]也会是回文子串 3.用好动态规划&#xff0c;具体解释在代码注释里 代码 class Solution {public String longestPalindrome(String s) {int…

【【FPGA 之Micro Blaze的串口中断实验】】

FPGA 之Micro Blaze的串口中断实验 我们在使用 MicroBlaze 进行嵌入式系统设计的时候&#xff0c;通常会用到 AXI Uartlite IP 核与外部设备通信。AXI UART IP 核实现了 RS-232 通讯协议&#xff0c;并使得大家可以设置串口通信相关的波特率、奇偶校验位、停止位和数据位等参数…

一看就懂的RxJava源码分析

一看就懂的RxJava源码分析 前言零、观察模式简介一、RxJava使用示例一二、示例一源码分析0. 示例一代码分解1. RxJava中的观察者是谁&#xff1f;2. RxJava中的被观察者又是谁&#xff1f;3. 观察者又是如何安插到被观察者中的&#xff1f;4. 示例一RxJava源码整体关系类图4. R…

一本书读懂数据治理

企业数据治理非常必要&#xff0c;它是企业实现数字化转型的基础&#xff0c;是企业的一个顶层策略&#xff0c;一个管理体系&#xff0c;也是一个技术体系&#xff0c;涵盖战略、组织、文化、方法、制度、流程、技术和工具等多个层面的内容。 数据治理不是对“数据”的治理&am…

Unity 与 虚拟机ROS连接

Unity 与 虚拟机ROS连接 知识储备前期准备ROS部分Unity部分 连接测试 知识储备 unity官方教程&#xff1a; https://github.com/Unity-Technologies/Unity-Robotics-HubWin11家庭版开启HyperV&#xff1a; https://zhuanlan.zhihu.com/p/577980646HyperV安装Ubuntu: https://b…

SQL Sever 基础知识 - 数据查询

SQL Sever 基础知识 - 一、查询数据 一、查询数据第1节 基本 SQL Server 语句SELECT第2节 SELECT语句示例2.1 SELECT - 检索表示例的某些列2.2 SELECT - 检索表的所有列2.3 SELECT - 对结果集进行筛选2.4 SELECT - 对结果集进行排序2.5 SELECT - 对结果集进行分组2.5 SELECT - …

浅学指针(4)函数指针数组和qsort的使用

系列文章目录 文章目录 系列文章目录前言1.函数指针数组的⽤途作用&#xff1a;可以让代码更简洁&#xff0c;逻辑更清晰 2. 回调函数回调函数就是⼀个通过函数指针调⽤的函数 3 . qsort函数qsort函数可以排序所有数据类型解释如图&#xff1a;![在这里插入图片描述](https://i…

【高效开发工具系列】Hutool DateUtil工具类

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Leetcode-二叉树oj题

1.二叉树的前序遍历 144. 二叉树的前序遍历https://leetcode.cn/problems/binary-tree-preorder-traversal/这个题目在遍历的基础上还要求返回数组&#xff0c;数组里面按前序存放二叉树节点的值。 既然要返回数组&#xff0c;就必然要malloc一块空间&#xff0c;那么我们需…

Spring简单的存储和读取

前言 前面讲了spring的创建&#xff0c;现在说说关于Bean和五大类注解 一、Bean是什么&#xff1f; 在 Java 语⾔中对象也叫做 Bean&#xff0c;所以后⾯咱们再遇到对象就以 Bean 著称。这篇文章还是以spring创建为主。 二、存储对象 2.1 俩种存储方式 需要在 spring-conf…

作用域和作用域链

前端面试大全JavaScript作用域和作用域链 &#x1f31f;经典真题 &#x1f31f;作用域&#xff08;Scope&#xff09; 什么是作用域 全局作用域和函数作用域 块级作用域 &#x1f31f;作用域链 什么是自由变量 什么是作用域链 关于自由变量的取值 &#x1f31f;作用域…