惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Privacy International News Feed
Martin Fowler
Martin Fowler
The GitHub Blog
The GitHub Blog
罗磊的独立博客
Apple Machine Learning Research
Apple Machine Learning Research
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
Vercel News
Vercel News
酷 壳 – CoolShell
酷 壳 – CoolShell
爱范儿
爱范儿
I
InfoQ
Y
Y Combinator Blog
月光博客
月光博客
小众软件
小众软件
有赞技术团队
有赞技术团队
A
About on SuperTechFans
U
Unit 42
C
CXSECURITY Database RSS Feed - CXSecurity.com
Know Your Adversary
Know Your Adversary
NISL@THU
NISL@THU
P
Proofpoint News Feed
V
Vulnerabilities – Threatpost
G
Google Developers Blog
V
V2EX
V
V2EX - 技术
Forbes - Security
Forbes - Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
GbyAI
GbyAI
The Cloudflare Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Tailwind CSS Blog
人人都是产品经理
人人都是产品经理
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Security @ Cisco Blogs
T
Threat Research - Cisco Blogs
M
MIT News - Artificial intelligence
量子位
Microsoft Security Blog
Microsoft Security Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园_首页
Recorded Future
Recorded Future
F
Full Disclosure
Hacker News - Newest:
Hacker News - Newest: "LLM"
Cyberwarzone
Cyberwarzone
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
PCI Perspectives
PCI Perspectives
H
Hacker News: Front Page
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Check Point Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org

C

各位大佬, C 語言該怎麼練習啊 分享一个代码优化导致的死循环 人再笨还能写不出内存安全的 C? 想念 C C11 的 _Generic,现实当中用得多不多?(尤其是公司项目) 坑爹的 GBK:大家都应该去用 UTF-8 分享一个用 AI 学习 C 语言的例子 一个简单的 C 程序,但是不明白区别在哪里 我这段 C 代码可以在编译时候输出结构体的大小,你们还有什么好点子, show me the code! 这段话是否正确?「取余这个运算,只有 Python 是对的。当初 C 这个老师教错了,那么一大票学生也就只敢跟着老师错。只有 Python 敢于站出来坚持正确答案。」 C 中可变参数如何直接传递到 printf() C 的内存打印实现 函数能否实现透传不定长度参数,最终由 printf 打印 请大佬帮忙修改一份 elf 文件里的数值 Linux 上 C 的程序遇到个异常退出问题,局部变量大小有限制?? C 语言新手求助:如何在 vscode 中使用第三方库? 将资源嵌入到可执行文件中并保持目录结构 一个简单实用的 C 工程示例, 附简洁的 Makefile 关于 C 语言的相关问题 轮子更新: C/C++ 跨平台小工具库 为什么下列程序进行的是无符号乘法? 用 riscv64- Linux -gnu-gcc 编译的 c 文件为啥能在 x8664 下运行? char *s = "0123"和 char s[] = "0123"的区别 有人能完整地解释一下 int (*daytab) [13]和 int *daytab[13]吗 在 c 语言中, int a;是 declaration 还是 definition 一个简单(奇怪)的 C 语言问题 c 语言中打印指针的值打印的是 OS 分配的虚拟地址的值吗?要怎么知道 OS 给这个 c 程序进程分配的虚拟地址的大小呢? gcc 是怎么找到 system 函数的定义(实现)的? 用 C 实现轻量级表达式完成策略定制化和模板内容生成 还是不太理解 C 静态库和动态库? 开源 C 库 bfdev: MPI 大数运算 C 语言中的面向切面编程(AOP) 网络语言污染/扭曲专业术语名词——《为什么 c 语言这么抽象?》 C 语言函数资源开销可观测性 C 语言用户态函数可观测性 在 C 中,如何正确拷贝字符串 c 语言中自定义 section 段问题请教 C 语言的源码过滤功能的工具 求助 libcurl 的 curl_easy_pause() 使用方法 各位有什么深入了解 C 语言的书嘛? 不熟悉 cmake,请教一下多模块项目的 cmake 写法 大家有没有值得推荐的 c 语言的开源项目,用来学习或者贡献的。 求帮忙看一下这个 C 代码为什么会段错误! int 型返回值所能表达的内容极限 刚刚突然感受到了 C 语言指针的神奇之处 开源 C 语言库 Melon 之模块选择性编译 这年头搞 c 还有前途吗 看看我的 leetcode 第 151 题目 反转字符串 百变开源 C 语言库日志模块 最好用的 C 语言 JSON 解析器
c 语言是如何给汉字编码的?
rookiemaster · 2024-03-18 · via C

美国是现代计算机的发源地,当时的先驱们只考虑了英文字符,也即是 ASCII 。C 语言诞生的时候,还处于计算机的早期发展阶段(大陆同期还在文革),因此当时只考虑到 ASCII ( char 类型的概念及相关标准库)。

后来,C 语言流传到各个国家,对汉字等非英文字符的支持,都是非官方标准,需要修改编译器和标准库实现。主要考虑两点:

- 字符常量的编码,字符串常量被编码为字节存储在库或者可执行文件里面
- printf 等涉及编码的标准库函数

再后来,C 标准更新,以增加对非英文字符的支持,比如:

- C99 支持使用转义字符形式的 Unicode 标识符
- C11 在语言上支持 u,U,u8 前缀表示的 UTF16,UTF32,UTF8 字符串,在标准库 uchar.h 里提供了 Unicode 支持
- C23 支持使用 u8 前缀表示的 UTF-8 单字节字符

------

字符集和字符编码应当是 CS 专业的基础知识(计算机科学概论),ASCII,ISO-8859,GB2312,GBK,Unicode(包括 UCS-2,UCS-4),UTF-8&UTF-16&UTF-32(以及 LE,BE,BOM)是计算机发展史在字符上的一个切面,可以参考阮一峰的博文: https://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html