10乱码问题的解释(1)

在计算机中,一个汉字,占几个字节?

针对这个问题,只要你回答出一个具体的数字,就一定是错的!!
前提条件: 当前中文编码使用的是哪种方式(字符集)

计算机存的其实是二进制数字~~
英文字母 ,怎么表示的?? ASCII 码表~~ 规定了每个字符,都有一个对应的数字来表示~~

只是表示英文,一个字节足够了~~ 毕竟英文字母数目非常有限~~

中文中一共多少个汉字呢?

日常的常用字,大概是 4k 多个
算上各种生僻字,总数差不多 6w 左右~~

对于计算机来说,6w 多个符号的表格

就是小 case ~~

仍然使用一个大表格,给每个汉字,分配一个整数即可~~

具体这个表格,是啥样子?

具体每个汉字,都使用哪个数字表示??

这个事情就不一定了!!

字符集~~ 表示汉字的字符集, 其实是有很多种的!!!
不同的字符集,表示同一个汉字,使用的数字不相同!!

目前,表示汉字字符集,主要是两种方式

1.GBK.(中国大陆) 使用 2 个字节表示一个汉字

Windows 简体中文版默认的字符集就是 GBK

  1. UTF-8 / utf8

变长编码.表示一个符号,使用的字节数有变化,2-4

但是在 utf8 中,一个汉字,一般是 3 个字节

Linux 默认就是 utf8

一个汉字,具体的 utf8/gbk 编码的数值是多少,可以通过一些在线工具来查看~~

编码工具

size_t strlen ( const char * str );
size_t 的大小取决于具体的平台和编译器。通常:

  • 32位系统 上,size_t 一般是 4 字节(32位)。---"%d"

  • 64位系统 上,size_t 一般是 8 字节(64位)。---"%ld"

相关推荐
zlinear数据采集卡10 小时前
数据采集卡从入门到精通(38):上位机开发实战——Python/QT/LabVIEW的技术选型与分层架构
python·单片机·嵌入式硬件·qt·fpga开发·开源·labview
skr爱码士12 小时前
05_Qt 核心模块概览——Qt Core、Gui、Widgets、Quick 的职责划分
c++·qt·系统架构·客户端
MOONICK13 小时前
QT的UI开发框架
qt·ui
郝学胜-神的一滴13 小时前
Horse3D 游戏引擎研发笔记(七):Clydesdale——从流式日志到多输出订阅
c++·qt·unity·游戏引擎·图形渲染·unreal engine·opengl
NO121216 小时前
python pyqt5調用攝像頭實時顯示
开发语言·python·qt
丰锋ff1 天前
基于 Qt 的智慧社区物业管理系统
开发语言·qt
程与留1 天前
05_Qt 核心模块概览——Qt Core、Gui、Widgets、Quick 的职责划分
c++·qt
buhuizhiyuci1 天前
【QT-百日筑基篇】修真世界摸爬滚打多年,终于黄天不负有心人,突破炼器中期——常用控件QWight的属性
开发语言·c++·qt·gui·图形化
Littlehero_1211 天前
QT自定义控件之热换站系统(源码开源)
开发语言·qt
Quz1 天前
QML MouseArea 鼠标拖拽与滚轮缩放
qt