В PHP, какой самый элегантный способ получить полный список (массив строк) всех символов Unicode, закодированных в utf8?
Мне нужно, чтобы генерировать тестовые данные.
Это письмо содержит список всех символов 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", );
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 промахиваются.
Годы спустя, этот вопрос по-прежнему имеет лучшие результаты в 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