character-encoding - 计算机的字符编码
问题描述
“字符文字可以隐式转换为其在 C++ 程序所在机器的字符集中的整数值”——来自 Bjarne Stroustrup 的“C++ 编程语言”一书。第四版第 143 页
物理机怎么会有自己的字符编码方案?我认为由软件来强制执行给定的编码方案,然后计算机的物理特性将其视为原始字节。有人可以解释他所说的“机器的字符集”是什么意思吗?
第 144 页继续说“对字符使用任何数字符号会使程序在具有不同字符集的机器之间不可移植”。
解决方案
在某些时候,像键盘这样的“物理机器”需要在二进制代码和人类可读字符之间建立内置对应关系。当 I/O 设备更加物理时,这种对应更加具体,但它肯定仍然存在。除此之外,操作系统通常会强加这种对应关系以实现互操作性;您是否认为操作系统是“机器”的一部分是一个没有明确答案的语义问题,但就 C++ 等语言标准而言,托管实现的“执行环境”包括键盘、显示器、持久存储,以及将它们联系在一起的操作系统粘合剂。
推荐阅读
- rust - 在冲突的特征实现上选择首选实现(使用负边界)
- memory-management - Julia中的预分配
- azure-purview - 我可以在一个 Azure Purview 帐户中注册多个租户吗?
- delphi - Firemonkey:如何在画布上仅绘制一个点
- c# - 如何更正 Azure 管道中的包版本名称并删除构建 ID
- python - 熊猫中的字符串替换方法给出了意想不到的结果
- javascript - 我创建了一个扩展,但是加载时找不到依赖项
- javascript - 视频循环和暂停
- html - 试图获得覆盖以切换重复元素。无法使用 getElementByID
- python - 当等于或大于 0 时对三个连续数字求和 - Python