首页 > 其他分享 >【文档翻译】每个开发者都必须了解的关于Unicode和字符集的基本知识

【文档翻译】每个开发者都必须了解的关于Unicode和字符集的基本知识

时间:2023-11-17 21:34:20浏览次数:27  
标签:编码 字节 字符 字母 基本知识 字符集 Unicode 码点

本文档译自 joelonsoftware.com 的文章"The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)",作者 joel,原文参见此处


概述 - Overview

你是否在某一个平凡的日子,思考过那个神秘的 Content-Type 标签?你知道你应该把它放在 HTML 中,但却一直不知道它应该写成什么(以及为什么)?

你是否收到过远在国外的朋友的邮件,而邮件的标题是“???? ?????? ??? ????”?

我很沮丧地发现,有相当多的软件开发人员并没有真正完全跟上字符集、编码、Unicode 等神秘世界的发展速度。在许多年前,FogBUGZ 的一个测试者想知道它是否能处理收到的日文电子邮件。当我仔细观察我们用来解析 MIME 电子邮件的商业 ActiveX 控件时,我们发现它对字符集做了完全错误的事,所以我们不得不编写代码来拯救它所做的错误转换并使用正确方案。当我研究另一个商业库时,它同样有支离破碎的字符处理代码。我和那个库的开发者联系过,他认为他们对此无能为力。像许多程序员一样,他只希望能早日从混沌中解脱。

但是它不可能自己变好。当我发现流行的 web 开发工具 PHP 几乎完全无视字符编码问题,无忧无虑地使用 8 位字符,导致它几乎不可能开发出好的国际 web 应用程序时,我想,我 TM 受够了。

所以我要在这里宣布:如果你是一个在 2003 年工作的程序员,而且你还不知道字符、字符集、编码和 Unicode 的基础知识的话,如果被我抓住,我会狠狠地惩罚你,让你在潜艇里剥 6 个月的洋葱。我发誓我会的

标签:编码,字节,字符,字母,基本知识,字符集,Unicode,码点
From: https://www.cnblogs.com/Code-For-What/p/17839709.html

相关文章

  • 出现UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in position 2: inva
    直接在代码第一行写下这段代码#-*-coding:utf-8-*-为什么这个有注释符号还是可以起作用?在Python中,`#-*-coding:utf-8-*-`这行代码并不是注释,而是一个特殊的声明,称为“编码声明”(encodingdeclaration)。它告诉Python解释器在载入源文件时使用UTF-8编码来解析源......
  • 程序字符集知识
    一、基础知识:为什么采用中文编程不行?https://mp.weixin.qq.com/s/v22aUQ-9ietJYdz0wMNUUQ字符编码那点事:快速理解ASCII、Unicode、GBK和UTF-8https://zhuanlan.zhihu.com/p/38333902主要(分清)认识两个概念:字符集、字符编码(规则):字符集(Charset):是一个系统支持的所有抽象字符......
  • 数据结构图的基本知识题
    判断题1.在n个结点的无向图中,若边数大于n-1,则该图必是连通图。​ TF解释:以下两种说法是对的:在n个结点的无向图中,若该图是连通图,则其边数大于等于n-1,在n个结点的无向图中,若边数大于(n-2)(n-1)/2,则该图必是连通图就是说连通是比较强的条件......
  • 数据结构图的基本知识题
    判断题1.在n个结点的无向图中,若边数大于n-1,则该图必是连通图。​ TF解释:以下两种说法是对的:在n个结点的无向图中,若该图是连通图,则其边数大于等于n-1,在n个结点的无向图中,若边数大于(n-2)(n-1)/2,则该图必是连通图就是说连通是比较强的条件......
  • 如何修改Azure SQL server数据库的字符集(UTF-8)排序规则
    ......
  • 无涯教程-Dart - Unicode
    字符串是字符序列,Dart将字符串表示为UnicodeUTF-16代码单元的序列。dart:core库中的String类提供了访问runes的机制,字符串的三种方式访问形式​​-使用String.codeUnitAt()函数使用String.codeUnits属性使用String.runes属性String.codeUnitAt()函数通过其索引进行访......
  • 字符集mysql
    MySQL的字符集从latin1经过utf8到utf8mb4,算是经历曲折的路线。特别是从使用一个字符集变更另一个字符集时,实践当中都非常无奈,不是没办法,而是麻烦。到了MySQL8.0多出了一个字符集utf8mb4_0900_*的字符集,有必要了解一下。1.字符集基础先了解下MySQL字符集都有哪些地方使用,进入数据......
  • 字符集collation不同-隐式转换mysql
    适用范围1.适用于MySQL或者OceanbaseforMySQL2.适用于两表或多表join的字段字符序不同的场景。如本例:COLLATEutf8mb4_general_ci和COLLATEutf8mb4_bin`cust_no`varchar(30)CHARACTERSETutf8mb4COLLATEutf8mb4_general_ci`cust_no`varchar(100)CHARACTERSETu......
  • Unicode/汉字互转实现
    首先,什么是Unicode,百科知识:Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等;Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要......
  • Python语法规则,变量与输出,字符集处理
    print方法1、默认输出内容后会自动换行2、输出内容后不换行,加上end=''3、查看源码:ctrl+鼠标左键点击方法注释作用:给开发测试人员看1、#:井号,注释一行代码,快捷方式ctrl+/2、“”“:三引号,注释多行代码代码的结束符换行如果一行代码需要分多行来写,怎么解决1、如果代码是包裹在括号里面......