PHP에서 모든 UTF-8 공백 문자의 전체 목록을 얻는 가장 간단한 방법
-
19-09-2019 - |
문제
PHP에서 모든 유니 코드의 전체 목록 (배열)을 얻는 가장 우아한 방법은 무엇입니까? 공백 문자, UTF8에서 인코딩?
테스트 데이터를 생성하려면 필요합니다.
해결책
이 이메일 UTF-8, UTF-16 및 HTML로 인코딩 된 모든 유니 코드 공백 문자 목록이 포함되어 있습니다.
편집하다
원래 2 월 9 일 '10 (!)에 응답했습니다. 실제로 정보가 구식이라면 불만을 제기하지 않고 자신의 답변을 추가 할 수 있습니다. 내 답변에 언급 된 URL에 대한 Google만이 담당자를 얻습니다.
메일이 보관되었습니다 여기 (몇 초가 걸렸습니다), 공백 테이블은 소개에서도 언급되었습니다.
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",
);
다른 팁
몇 년 후,이 질문은 유니 코드 공백 문자를 찾을 때 여전히 Google에서 최고의 결과를 얻었습니다. Devio의 대답은 훌륭하지만 불완전합니다. 이 글을 쓰는 시점 (2017 년 10 월) Wikipedia는 여기에 공백 문자 목록이 있습니다. https://en.wikipedia.org/wiki/whitespace_character
이 목록은 25 개의 코드 포인트를 지정하는 반면 현재 허용되는 답변 목록은 18입니다. 7 개의 다른 코드 포인트를 포함하여 목록은 다음과 같습니다.
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을 제공하지는 않지만 웹 페이지에 캐릭터가 있으므로 편집자에 자르고 붙여 넣을 수 있습니다 (UTF-8에서 저장하는 경우). 대안 적으로, http://www.fileformat.info/info/unicode/char/180e/index.htm UTF-8을 제공합니다 ( "180E"를 찾고있는 HEX 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'