Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
187 views
in Technique[技术] by (71.8m points)

List of all unicode's open/close brackets?

What is a list of every unicode bracket-like characters (including, for example: {}[]()<>)? What is a good way to search for unicode characters?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

There is a plain-text database of information about every Unicode character available from the Unicode Consortium; the format is described in Unicode Annex #44. The primary information is contained in UnicodeData.txt. Open and close punctuation characters are denoted with Ps (punctuation start) and Pe (punctuation end) in the General_Category field (the third field, delimited by ;). Look for those character, and you'll find what you're looking for.

Note that not all characters that you consider brackets may be listed; for instance, quotation marks (including "??"). are indicated with Pi and Pf (initial and final punctuation), so you might want to include those as well. And some character, like < and >, are used as brackets in some contexts (such as HTML/XML), while they are considered math symbols (Sm) in UnicodeData.txt. Those you are going to have to find by hand; there is no pre-determined listing of those.

Here's a quick Bash script to get this information, and its output. I've included both brackets and quotes. (note: on some Bash implementations UTF-8 printing has a bug that causes it to print U+00AB "?" and U+00BB "?" as "?", and some terminals don't have the ability to render all characters correctly.)

while IFS=';' read number name category rest
do 
    if [[ "$category" =~ Ps|Pe|Pi|Pf ]]
    then 
        printf "%s (U+%s, %s): u"$number"
" "$name" "$number" "$category"
    fi
done <UnicodeData.txt
LEFT PARENTHESIS (U+0028, Ps): (
RIGHT PARENTHESIS (U+0029, Pe): )
LEFT SQUARE BRACKET (U+005B, Ps): [
RIGHT SQUARE BRACKET (U+005D, Pe): ]
LEFT CURLY BRACKET (U+007B, Ps): {
RIGHT CURLY BRACKET (U+007D, Pe): }
LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (U+00AB, Pi): ?
RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK (U+00BB, Pf): ?
TIBETAN MARK GUG RTAGS GYON (U+0F3A, Ps): ?
TIBETAN MARK GUG RTAGS GYAS (U+0F3B, Pe): ?
TIBETAN MARK ANG KHANG GYON (U+0F3C, Ps): ?
TIBETAN MARK ANG KHANG GYAS (U+0F3D, Pe): ?
OGHAM FEATHER MARK (U+169B, Ps): ?
OGHAM REVERSED FEATHER MARK (U+169C, Pe): ?
LEFT SINGLE QUOTATION MARK (U+2018, Pi): ‘
RIGHT SINGLE QUOTATION MARK (U+2019, Pf): ’
SINGLE LOW-9 QUOTATION MARK (U+201A, Ps): ?
SINGLE HIGH-REVERSED-9 QUOTATION MARK (U+201B, Pi): ?
LEFT DOUBLE QUOTATION MARK (U+201C, Pi): “
RIGHT DOUBLE QUOTATION MARK (U+201D, Pf): ”
DOUBLE LOW-9 QUOTATION MARK (U+201E, Ps): ?
DOUBLE HIGH-REVERSED-9 QUOTATION MARK (U+201F, Pi): ?
SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039, Pi): ?
SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A, Pf): ?
LEFT SQUARE BRACKET WITH QUILL (U+2045, Ps): ?
RIGHT SQUARE BRACKET WITH QUILL (U+2046, Pe): ?
SUPERSCRIPT LEFT PARENTHESIS (U+207D, Ps): ?
SUPERSCRIPT RIGHT PARENTHESIS (U+207E, Pe): ?
SUBSCRIPT LEFT PARENTHESIS (U+208D, Ps): ?
SUBSCRIPT RIGHT PARENTHESIS (U+208E, Pe): ?
LEFT-POINTING ANGLE BRACKET (U+2329, Ps): 〈
RIGHT-POINTING ANGLE BRACKET (U+232A, Pe): 〉
MEDIUM LEFT PARENTHESIS ORNAMENT (U+2768, Ps): ?
MEDIUM RIGHT PARENTHESIS ORNAMENT (U+2769, Pe): ?
MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT (U+276A, Ps): ?
MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT (U+276B, Pe): ?
MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT (U+276C, Ps): ?
MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT (U+276D, Pe): ?
HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT (U+276E, Ps): ?
HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT (U+276F, Pe): ?
HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT (U+2770, Ps): ?
HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT (U+2771, Pe): ?
LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT (U+2772, Ps): ?
LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT (U+2773, Pe): ?
MEDIUM LEFT CURLY BRACKET ORNAMENT (U+2774, Ps): ?
MEDIUM RIGHT CURLY BRACKET ORNAMENT (U+2775, Pe): ?
LEFT S-SHAPED BAG DELIMITER (U+27C5, Ps): ?
RIGHT S-SHAPED BAG DELIMITER (U+27C6, Pe): ?
MATHEMATICAL LEFT WHITE SQUARE BRACKET (U+27E6, Ps): ?
MATHEMATICAL RIGHT WHITE SQUARE BRACKET (U+27E7, Pe): ?
MATHEMATICAL LEFT ANGLE BRACKET (U+27E8, Ps): ?
MATHEMATICAL RIGHT ANGLE BRACKET (U+27E9, Pe): ?
MATHEMATICAL LEFT DOUBLE ANGLE BRACKET (U+27EA, Ps): ?
MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET (U+27EB, Pe): ?
MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET (U+27EC, Ps): ?
MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET (U+27ED, Pe): ?
MATHEMATICAL LEFT FLATTENED PARENTHESIS (U+27EE, Ps): ?
MATHEMATICAL RIGHT FLATTENED PARENTHESIS (U+27EF, Pe): ?
LEFT WHITE CURLY BRACKET (U+2983, Ps): ?
RIGHT WHITE CURLY BRACKET (U+2984, Pe): ?
LEFT WHITE PARENTHESIS (U+2985, Ps): ?
RIGHT WHITE PARENTHESIS (U+2986, Pe): ?
Z NOTATION LEFT IMAGE BRACKET (U+2987, Ps): ?
Z NOTATION RIGHT IMAGE BRACKET (U+2988, Pe): ?
Z NOTATION LEFT BINDING BRACKET (U+2989, Ps): ?
Z NOTATION RIGHT BINDING BRACKET (U+298A, Pe): ?
LEFT SQUARE BRACKET WITH UNDERBAR (U+298B, Ps): ?
RIGHT SQUARE BRACKET WITH UNDERBAR (U+298C, Pe): ?
LEFT SQUARE BRACKET WITH TICK IN TOP CORNER (U+298D, Ps): ?
RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER (U+298E, Pe): ?
LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER (U+298F, Ps): ?
RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER (U+2990, Pe): ?
LEFT ANGLE BRACKET WITH DOT (U+2991, Ps): ?
RIGHT ANGLE BRACKET WITH DOT (U+2992, Pe): ?
LEFT ARC LESS-THAN BRACKET (U+2993, Ps): ?
RIGHT ARC GREATER-THAN BRACKET (U+2994, Pe): ?
DOUBLE LEFT ARC GREATER-THAN BRACKET (U+2995, Ps): ?
DOUBLE RIGHT ARC LESS-THAN BRACKET (U+2996, Pe): ?
LEFT BLACK TORTOISE SHELL BRACKET (U+2997, Ps): ?
RIGHT BLACK TORTOISE SHELL BRACKET (U+2998, Pe): ?
LEFT WIGGLY FENCE (U+29D8, Ps): ?
RIGHT WIGGLY FENCE (U+29D9, Pe): ?
LEFT DOUBLE WIGGLY FENCE (U+29DA, Ps): ?
RIGHT DOUBLE WIGGLY FENCE (U+29DB, Pe): ?
LEFT-POINTING CURVED ANGLE BRACKET (U+29FC, Ps): ?
RIGHT-POINTING CURVED ANGLE BRACKET (U+29FD, Pe): ?
LEFT SUBSTITUTION BRACKET (U+2E02, Pi): ?
RIGHT SUBSTITUTION BRACKET (U+2E03, Pf): ?
LEFT DOTTED SUBSTITUTION BRACKET (U+2E04, Pi): ?
RIGHT DOTTED SUBSTITUTION BRACKET (U+2E05, Pf): ?
LEFT TRANSPOSITION BRACKET (U+2E09, Pi): ?
RIGHT TRANSPOSITION BRACKET (U+2E0A, Pf): ?
LEFT RAISED OMISSION BRACKET (U+2E0C, Pi): ?
RIGHT RAISED OMISSION BRACKET (U+2E0D, Pf): ?
LEFT LOW PARAPHRASE BRACKET (U+2E1C, Pi): ?
RIGHT LOW PARAPHRASE BRACKET (U+2E1D, Pf): ?
LEFT VERTICAL BAR WITH QUILL (U+2E20, Pi): ?
RIGHT VERTICAL BAR WITH QUILL (U+2E21, Pf): ?
TOP LEFT HALF BRACKET (U+2E22, Ps): ?
TOP RIGHT HALF BRACKET (U+2E23, Pe): ?
BOTTOM LEFT HALF BRACKET (U+2E24, Ps): ?
BOTTOM RIGHT HALF BRACKET (U+2E25, Pe): ?
LEFT SIDEWAYS U BRACKET (U+2E26, Ps): ?
RIGHT SIDEWAYS U BRACKET (U+2E27, Pe): ?
LEFT DOUBLE PARENTHESIS (U+2E28, Ps): ?
RIGHT DOUBLE PARENTHESIS (U+2E29, Pe): ?
LEFT ANGLE BRACKET (U+3008, Ps): 〈
RIGHT ANGLE BRACKET (U+3009, Pe): 〉
LEFT DOUBLE ANGLE BRACKET (U+300A, Ps): 《
RIGHT DOUBLE ANGLE BRACKET (U+300B, Pe): 》
LEFT CORNER BRACKET (U+300C, Ps): 「
RIGHT CORNER BRACKET (U+300D, Pe): 」
LEFT WHITE CORNER BRACKET (U+300E, Ps): 『
RIGHT WHITE CORNER BRACKET (U+300F, Pe): 』
LEFT BLACK LENTICULAR BRACKET (U+3010, Ps): 【
RIGHT BLACK LENTICULAR BRACKET (U+3011, Pe): 】
LEFT TORTOISE SHELL BRACKET (U+3014, Ps): 〔
RIGHT TORTOISE SHELL BRACKET (U+3015, Pe): 〕
LEFT WHITE LENTICULAR BRACKET (U+3016, Ps): 〖
RIGHT WHITE LENTICULAR BRACKET (U+3017, Pe): 〗
LEFT WHITE TORTOISE SHELL BRACKET (U+3018, Ps): ?
RIGHT WHITE TORTOISE SHELL BRACKET (U+3019, Pe): ?
LEFT WHITE SQUARE BRACKET (U+301A, Ps): ?
RIGHT WHITE SQUARE BRACKET (U+301B, Pe): ?
REVERSED DOUBLE PRIME QUOTATION MARK (U+301D, Ps): 〝
DOUBLE PRIME QUOTATION MARK (U+301E, Pe): 〞
LOW DOUBLE PRIME QUOTATION MARK (U+301F, Pe): ?
ORNATE LEFT PARENTHESIS (U+FD3E, Ps): ?
ORNATE RIGHT PARENTHESIS (U+FD3F, Pe): ?
PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET (U+FE17, Ps): ?
PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET (U+FE18, Pe): ?
PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS (U+FE35, Ps): ︵
PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS (U+FE36, Pe): ︶
PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET (U+FE37, Ps): ︷
PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET (U+FE38, Pe): ︸
PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET (U+FE39, Ps): ︹
PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET (U+FE3A, Pe): ︺
PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET (U+FE3B, Ps): ︻
PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET (U+FE3C, Pe): ︼
PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET (U+FE3D, Ps): ︽
PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET (U+FE3E, Pe): ︾
PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET (U+FE3F, Ps): ︿
PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET (U+FE40, Pe): ﹀
PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET (U+FE41, Ps): ﹁
PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET (U+FE42, Pe): ﹂
PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET (U+FE43, Ps): ﹃
PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET (U+FE44, Pe): ﹄
PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET (U+FE47, Ps): ?
PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET (U+FE48, Pe): ?
SMALL LEFT PARENTHESIS (U+FE59, Ps): ﹙
SMALL RIGHT PARENTHESIS (U+FE5A, Pe): ﹚
SMALL LEFT CURLY BRACKET (U+FE5B, Ps): ﹛
SMALL RIGHT CURLY BRACKET (U+FE5C, Pe): ﹜
SMALL LEFT TORTOISE SHELL BRACKET (U+FE5D, Ps): ﹝
SMALL RIGHT TORTOISE SHELL BRACKET (U+FE5E, Pe): ﹞
FULLWIDTH LEFT PARENTHESIS (U+FF08, Ps): (
FULLWIDTH RIGHT PARENTHESIS (U+FF09, Pe): )
FULLWIDTH LEFT SQUARE BRACKET (U+FF3B, Ps): [
FULLWIDTH RIGHT SQUARE BRACKET (U+FF3D, Pe): ]
FULLWIDTH LEFT CURLY BRACKET (U+FF5B, Ps): {
FULLWIDTH RIGHT CURLY BRACKET (U+FF5D, Pe): }
FULLWIDTH LEFT WHITE PARENTHESIS (U+FF5F, Ps): ?
FULLWIDTH RIGHT WHITE PARENTHESIS (U+FF60, Pe): ?
HALFWIDTH LEFT CORNER BRACKET (U+FF62, Ps): ?
HALFWIDTH RIGHT CORNER BRACKET (U+FF63, Pe): ?

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...