深入理解计算机编码与字符集的区别

news/2024/10/19 2:25:27/

1、编码表与字符集的区别

比如,unicode是字符集(万国码),但计算机如何存储编码(几个字节存储),这时候要用到编码规则(UTF-8)

举例:

用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件

utf-8中文3个字节,英文1个字节。gbk中文2个字节,英文1个字节。

2、ASCII扩展码字符和GBK混合写入文件

使用Java IO流同时将欧元符€和汉字写入文件。

FileOutputStream out = new FileOutputStream("E:/tmp/character.txt");
out.write("你好啊".getBytes("GBK"));
// 不能以这种方式写
// out.write("€".getBytes("GBK"));
out.write(128);
out.close();

将文件传到linux上之后,执行命令cat test1.txt|od -c,€会显示成200(od表示使用八进制显示),此时说明是正确的

3、Java中关于ASCII扩展码字符的处理

char c = 251; // 扩展ASCII码中字符√的编码
System.out.println(c); // û// 扩展ASCII不是国际标准,编码为251的字符,就不是√,而是û。而√对应的unicode编码是8730,输出8730才能得到√
System.out.println((int)'√'); // 8730
System.out.println((char)8730); // √// 输出扩展ASCII码中字符€的unicode编码
System.out.println((int)'€');
System.out.println((char)8364);

注意:java中使用unicode字符表示字符串时,是十六进制,如下代码所示。

System.out.println("\u20AC"); // €的unicode码的十六进制

针对扩展的ASCII码,不同的国家有不同的字符集,所以它并不是国际标准。

参考链接:

字符编码中ASCII、Unicode和UTF-8的区别 - 风行风中 - 博客园

ANSI是什么编码?_imxiangzi的专栏-CSDN博客_ansi编码


http://www.ppmy.cn/news/248239.html

相关文章

The Graph 2 构建一个基本的subgraph

这一节我们按照官方示例构建一个简单的subGraph 智能合约 // SPDX-License-Identifier: MIT pragma solidity >0.4.0;contract GravatarRegistry {event NewGravatar(uint id, address owner, string displayName, string imageUrl);event UpdatedGravatar(uint id, address…

The Graph 3 subGraph的callHandler,blockhandler,实体关系和全文索引

上一节我们基于官方示例构建了一个具有基本功能的subgraph,这一节我们介绍其他的一些特性。 callHandler 虽然eventHandler提供了一种有效的方法来收集合约状态的相关更改,但许多合约避免生成event以优化gas成本。在这些情况下,subgraph可以订…

2022年4月3日-4月15日(方案A,ogremain源码抄写+ue4视频学习,共22小时,合计1270小时,剩8730小时)

截至2022年4月1日,ogreMain剩下4533行(含注释),纯代码2646行 周二时学完了ue第五套视频教程编辑器1,good 接下来 UE4视频教程进行到了mysql(1.1),tf1(2.1),oss(4.2),simpleThread(1.2),editor2(未开始) 清…

企业综合安防管理平台

企业综合安防管理平台 平台概述 长期以来各厂家以市场为导向,专注于具备自身特长的单一系统产品,造成目前在技防领域出现的众多分项系统各自为政的局面,如单一的视频监控系统、门禁系统、访客系统、停车管理系统、报警系统等。各厂家单一业务…

nginx+tomcat 负载均衡、动静分离集群

文章目录 一、NginxTomcat负载均衡的组合原因1.1 Nginx实现负载均衡的原理1.2 Nginx实现负载均衡的主要配置项1.3 NginxTomcat负载均衡的组合的优点1.4 NginxTomcat负载均衡的实验设计 二、动静分离部署2.1 部署TOMCAT后端服务器2.2部署nginx服务器2.3安装nginx动态服务器 一、…

关于酷派8730“移动版”手机无法将应用安装在外置SD卡的解决办法和获取ROOT权限方法

酷派8730“移动版”手机的rom版本号是“039”,具体可通过输入*#9527*#,进入工厂模式查看。 039版是无法将应用安装在外置SD卡里的,解决办法是升级至049版;即从039-->048-->049,下面是具体做法: 1.在…

Oracle Database 23c新特性之CASE语句/表达式增强

Oracle database 23c 改进了 PL/SQL 程序中的简单 CASE 语句和 CASE 表达式,支持悬空谓词(dangling predicate)和单个 WHEN 分支中的多项匹配。这个增强是为了更加符合 SQL 标准。 示例表 本文将会使用以下简单示例表: drop ta…