获得在PHP所有的UTF-8空白字符的完整列表的最简单方法
-
19-09-2019 - |
题
在PHP中,什么是最优雅的方式来获取所有的Unicode的空白字符的,在UTF8编码?
我需要以生成测试数据
解决方案
此电子邮件包含的所有Unicode空白字符的列表编码UTF-8,UTF-16,和HTML。
修改的
最初回答2月9日'10(!)。真家伙,如果信息是过时的,你可以添加你自己的答案,而不是抱怨。只是谷歌在我的回答中提到的网址,并获得一些声望:
邮件已被封存 rel="noreferrer">(把我秒),空格表甚至是在引言中提到
static $whitespace = array(
"SPACE" => "\x20",
"NO-BREAK SPACE" => "\xc2\xa0",
"OGHAM SPACE MARK" => "\xe1\x9a\x80",
"EN QUAD" => "\xe2\x80\x80",
"EM QUAD" => "\xe2\x80\x81",
"EN SPACE" => "\xe2\x80\x82",
"EM SPACE" => "\xe2\x80\x83",
"THREE-PER-EM SPACE" => "\xe2\x80\x84",
"FOUR-PER-EM SPACE" => "\xe2\x80\x85",
"SIX-PER-EM SPACE" => "\xe2\x80\x86",
"FIGURE SPACE" => "\xe2\x80\x87",
"PUNCTUATION SPACE" => "\xe2\x80\x88",
"THIN SPACE" => "\xe2\x80\x89",
"HAIR SPACE" => "\xe2\x80\x8a",
"ZERO WIDTH SPACE" => "\xe2\x80\x8b",
"NARROW NO-BREAK SPACE" => "\xe2\x80\xaf",
"MEDIUM MATHEMATICAL SPACE" => "\xe2\x81\x9f",
"IDEOGRAPHIC SPACE" => "\xe3\x80\x80",
);
其他提示
多年后,寻找的Unicode空白字符时,这个问题仍对谷歌热门搜索结果。 devio的答案是伟大的,但不完整。在撰写本文时(2017年10月),维基百科的空白字符列表在这里: HTTPS://en.wikipedia。组织/维基/ Whitespace_character
这个列表具有指定25个点,而目前接受的回答清单18包括七个其他代码点,该列表是:
U+0009 character tabulation
U+000A line feed
U+000B line tabulation
U+000C form feed
U+000D carriage return
U+0020 space
U+0085 next line
U+00A0 no-break space
U+1680 ogham space mark
U+180E mongolian vowel separator
U+2000 en quad
U+2001 em quad
U+2002 en space
U+2003 em space
U+2004 three-per-em space
U+2005 four-per-em space
U+2006 six-per-em space
U+2007 figure space
U+2008 punctuation space
U+2009 thin space
U+200A hair space
U+200B zero width space
U+200C zero width non-joiner
U+200D zero width joiner
U+2028 line separator
U+2029 paragraph separator
U+202F narrow no-break space
U+205F medium mathematical space
U+2060 word joiner
U+3000 ideographic space
U+FEFF zero width non-breaking space
http://en.wikipedia.org/wiki/Space_%28punctuation% 29#Spaces_in_Unicode
不幸的是,它并没有给UTF-8,但它确实有在Web页面中的字符,所以你可以剪切和粘贴到编辑器(如果它在UTF-8保存)。或者, http://www.fileformat.info/info/unicode/char /180E/index.htm 给出UTF-8(替换 “180E” 与要查找的六角UTF-16值)。
这也给了一对额外的字符@ devio的出色答卷失误。
0x9 b'\t'
0xa b'\n'
0xb b'\x0b'
0xc b'\x0c'
0xd b'\r'
0x20 b' '
0x85 b'\xc2\x85'
0xa0 b'\xc2\xa0'
0x1680 b'\xe1\x9a\x80'
0x180e b'\xe1\xa0\x8e'
0x2000 b'\xe2\x80\x80'
0x2001 b'\xe2\x80\x81'
0x2002 b'\xe2\x80\x82'
0x2003 b'\xe2\x80\x83'
0x2004 b'\xe2\x80\x84'
0x2005 b'\xe2\x80\x85'
0x2006 b'\xe2\x80\x86'
0x2007 b'\xe2\x80\x87'
0x2008 b'\xe2\x80\x88'
0x2009 b'\xe2\x80\x89'
0x200a b'\xe2\x80\x8a'
0x200b b'\xe2\x80\x8b'
0x200c b'\xe2\x80\x8c'
0x200d b'\xe2\x80\x8d'
0x2028 b'\xe2\x80\xa8'
0x2029 b'\xe2\x80\xa9'
0x202f b'\xe2\x80\xaf'
0x205f b'\xe2\x81\x9f'
0x2060 b'\xe2\x81\xa0'
0x3000 b'\xe3\x80\x80'
0xfeff b'\xef\xbb\xbf'
不隶属于 StackOverflow