Самый простой способ получить полный список всех пробельных символов UTF-8 в PHP

В PHP, какой самый элегантный способ получить полный список (массив строк) всех Unicode пробельных символов, закодированных в utf8

Мне нужно, чтобы генерировать тестовые данные.

Ответ 1

Это электронное письмо содержит список всех пробельных символов Unicode, кодированных в UTF-8, UTF-16 и HTML.

изменить

Первоначально ответил 9 февраля '10 (!). Действительно, ребята, если информация устарела, вы можете добавить свой собственный ответ, а не жаловаться. Просто google для URL, упомянутого в моем ответе, и заработайте некоторую репутацию:

Почта была заархивирована здесь (заняла секунды), а таблица пробелов даже упоминается во введении

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",
);

Ответ 2

http://en.wikipedia.org/wiki/Space_%28punctuation%29#Spaces_in_Unicode

К сожалению, он не дает UTF-8, но у него есть символ на веб-странице, поэтому вы можете вырезать и вставлять в свой редактор (если он сохраняет в UTF-8). Альтернативно, http://www.fileformat.info/info/unicode/char/180E/index.htm дает UTF-8 (замените "180E" на значение шестнадцатеричного UTF-16, которое вы ищете).

Это также дает пару дополнительных символов, которые @devio отлично пропустили.

Ответ 3

Спустя годы этот вопрос по-прежнему имеет лучшие результаты в Google при поиске символов в виде unicode. devio ответ велик, но неполный. На момент написания этой статьи (октябрь 2017 года) в Википедии есть список символов пробелов: https://en.wikipedia.org/wiki/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