|
|
1
21
http://en.wikipedia.org/wiki/Unicode_control_characters 您可能需要特别关注C0和C1控制字符 http://en.wikipedia.org/wiki/C0_and_C1_control_codes wiki上说,C0控制字符在U+0000U+001F和U+007F之间(与ASCII的范围相同),C1控制字符在U+0080U+009F之间
|
|
|
2
16
首先,你应该去掉你问题中的“UTF8”这个词,它不相关(UTF8只是Unicode的编码之一,它与你的问题是正交的)。 第二:“可打印/不可打印”在Unicode中的含义不太清楚。也许你是说 graphical character “人们甚至可以质疑一个空间是否可以打印/图形化。非图形字符基本上由控制字符组成:范围0x00-0x0f加上一些分散的字符。 无论如何,绝大多数Unicode字符(超过200000个)都是“图形化的”。但这并不意味着它们可以在您的环境中打印。 在我看来,这是一个坏主意,如果你打算生成一个“随机打印”unicode字符串,试图包括所有的“打印”字符。 |
|
|
3
14
Unicode定义 properties for characters 其中一个属性是“一般范畴”,它有主要的类和子类。主要的类有字母、标记、标点、符号、分隔符和其他。 通过了解角色的属性,您可以决定是否将其视为可打印的 在你特定的背景下 . 您必须始终记住,像“字符”和“可打印”这样的术语通常是困难的,并且具有有趣的边缘情况。
例如,Go语言有一个“unicode”包,它提供了许多有用的unicode相关函数,包括以下两个:
注意,它说的是“defined as printable by Go”,而不是“defined as printable by Unicode”。这几乎就像是有一些深度的巫师在Unicode不敢铅垂。
零宽度空间是否可打印?何时可以打印连字符点?有哪些字符的印刷适性取决于它们在一个单词中的位置,或者取决于与它们相邻的字符?组合字符总是可以打印的吗?
不,不是。\u007f是DEL,通常不被认为是可打印字符。例如,它与标有“DEL”的键盘键相关联,其最早的目的是命令从某种介质(显示器、文件等)中删除字符。
|
|
|
4
5
|
|
|
5
0
在int数据类型中,可打印的Unicode字符范围(不包括十六进制)是32到126。 |
|
|
6
0
哪些字符有效?
让我们把拉丁语块1中有效/无效的东西分解一下。 拉丁语块:TLDR如果您对过滤掉其中一个不可见的字符感兴趣,则需要过滤掉:
拉丁语块:全范围这是拉丁块,分成几个小部分。。。
其他街区拉丁1和拉丁1相关块
非拉丁语,语言补充块
古代语言块
语言扩展块
特殊砌块
|
|
|
Bard.Mus · 迁移后的数据库字符集环境 1 年前 |
|
|
David · 何时实际应用字符编码? 1 年前 |
|
|
Karlomanio · 区分两个西里尔字母字符串 2 年前 |
|
|
Gabriel Lucizano · 为什么我无法访问C中的文件 2 年前 |
|
|
Mira Kumar · 在网页上显示特殊字符 2 年前 |
|
jay.sf · 如何在pdf中使用UTF-8编码的字符矢量? 2 年前 |
|
|
Kevin Patel · UTF-8内容在Java中是否可能格式错误 2 年前 |