fork download
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. using System.Text.RegularExpressions;
  6. using System.Linq;
  7. using System.Globalization;
  8.  
  9. public class Test
  10. {
  11. private static bool IsSurrogate(string symbol)
  12. {
  13. return char.IsSurrogatePair(symbol, 0);
  14. }
  15. public static void Main()
  16. {
  17. Dictionary<UnicodeCategory, IGrouping<UnicodeCategory, string>> charInfo = (
  18. Enumerable.Range(0, 0x110000)
  19. .Where (x => (x < 0x00D800 || x > 0x00DFFF))
  20. .Select (Char.ConvertFromUtf32)
  21. .GroupBy(s => Char.GetUnicodeCategory(s, 0))
  22. .ToDictionary(g => g.Key)
  23. );
  24.  
  25. // Get all number unicode groups:
  26. string[] Nd = charInfo[UnicodeCategory.DecimalDigitNumber].ToArray();
  27. string[] Nl = charInfo[UnicodeCategory.LetterNumber ].ToArray();
  28. string[] No = charInfo[UnicodeCategory.OtherNumber ].ToArray();
  29. //Console.WriteLine(string.Join("", Nd));
  30. string[] N = Nd.Union(Nl).Union(No).ToArray();
  31.  
  32. foreach (var symbol in N)
  33. {
  34. if (!Regex.IsMatch(symbol, @"\p{N}"))
  35. {
  36. var chrs = symbol.ToCharArray();
  37. var hex = string.Concat(chrs.Select(x => string.Format(@"\u{0:x4}", (int)x)));
  38. Console.WriteLine($"{symbol}\t{hex}\t{char.IsSurrogatePair(symbol, 0)}");
  39. }
  40. }
  41. }
  42. }
Success #stdin #stdout 0.25s 151744KB
stdin
Standard input is empty
stdout
๐’ 	\ud801\udca0	True
๐’ก	\ud801\udca1	True
๐’ข	\ud801\udca2	True
๐’ฃ	\ud801\udca3	True
๐’ค	\ud801\udca4	True
๐’ฅ	\ud801\udca5	True
๐’ฆ	\ud801\udca6	True
๐’ง	\ud801\udca7	True
๐’จ	\ud801\udca8	True
๐’ฉ	\ud801\udca9	True
๐‘ฆ	\ud804\udc66	True
๐‘ง	\ud804\udc67	True
๐‘จ	\ud804\udc68	True
๐‘ฉ	\ud804\udc69	True
๐‘ช	\ud804\udc6a	True
๐‘ซ	\ud804\udc6b	True
๐‘ฌ	\ud804\udc6c	True
๐‘ญ	\ud804\udc6d	True
๐‘ฎ	\ud804\udc6e	True
๐‘ฏ	\ud804\udc6f	True
๐‘ƒฐ	\ud804\udcf0	True
๐‘ƒฑ	\ud804\udcf1	True
๐‘ƒฒ	\ud804\udcf2	True
๐‘ƒณ	\ud804\udcf3	True
๐‘ƒด	\ud804\udcf4	True
๐‘ƒต	\ud804\udcf5	True
๐‘ƒถ	\ud804\udcf6	True
๐‘ƒท	\ud804\udcf7	True
๐‘ƒธ	\ud804\udcf8	True
๐‘ƒน	\ud804\udcf9	True
๐‘„ถ	\ud804\udd36	True
๐‘„ท	\ud804\udd37	True
๐‘„ธ	\ud804\udd38	True
๐‘„น	\ud804\udd39	True
๐‘„บ	\ud804\udd3a	True
๐‘„ป	\ud804\udd3b	True
๐‘„ผ	\ud804\udd3c	True
๐‘„ฝ	\ud804\udd3d	True
๐‘„พ	\ud804\udd3e	True
๐‘„ฟ	\ud804\udd3f	True
๐‘‡	\ud804\uddd0	True
๐‘‡‘	\ud804\uddd1	True
๐‘‡’	\ud804\uddd2	True
๐‘‡“	\ud804\uddd3	True
๐‘‡”	\ud804\uddd4	True
๐‘‡•	\ud804\uddd5	True
๐‘‡–	\ud804\uddd6	True
๐‘‡—	\ud804\uddd7	True
๐‘‡˜	\ud804\uddd8	True
๐‘‡™	\ud804\uddd9	True
๐‘›€	\ud805\udec0	True
๐‘›	\ud805\udec1	True
๐‘›‚	\ud805\udec2	True
๐‘›ƒ	\ud805\udec3	True
๐‘›„	\ud805\udec4	True
๐‘›…	\ud805\udec5	True
๐‘›†	\ud805\udec6	True
๐‘›‡	\ud805\udec7	True
๐‘›ˆ	\ud805\udec8	True
๐‘›‰	\ud805\udec9	True
๐ŸŽ	\ud835\udfce	True
๐Ÿ	\ud835\udfcf	True
๐Ÿ	\ud835\udfd0	True
๐Ÿ‘	\ud835\udfd1	True
๐Ÿ’	\ud835\udfd2	True
๐Ÿ“	\ud835\udfd3	True
๐Ÿ”	\ud835\udfd4	True
๐Ÿ•	\ud835\udfd5	True
๐Ÿ–	\ud835\udfd6	True
๐Ÿ—	\ud835\udfd7	True
๐Ÿ˜	\ud835\udfd8	True
๐Ÿ™	\ud835\udfd9	True
๐Ÿš	\ud835\udfda	True
๐Ÿ›	\ud835\udfdb	True
๐Ÿœ	\ud835\udfdc	True
๐Ÿ	\ud835\udfdd	True
๐Ÿž	\ud835\udfde	True
๐ŸŸ	\ud835\udfdf	True
๐Ÿ 	\ud835\udfe0	True
๐Ÿก	\ud835\udfe1	True
๐Ÿข	\ud835\udfe2	True
๐Ÿฃ	\ud835\udfe3	True
๐Ÿค	\ud835\udfe4	True
๐Ÿฅ	\ud835\udfe5	True
๐Ÿฆ	\ud835\udfe6	True
๐Ÿง	\ud835\udfe7	True
๐Ÿจ	\ud835\udfe8	True
๐Ÿฉ	\ud835\udfe9	True
๐Ÿช	\ud835\udfea	True
๐Ÿซ	\ud835\udfeb	True
๐Ÿฌ	\ud835\udfec	True
๐Ÿญ	\ud835\udfed	True
๐Ÿฎ	\ud835\udfee	True
๐Ÿฏ	\ud835\udfef	True
๐Ÿฐ	\ud835\udff0	True
๐Ÿฑ	\ud835\udff1	True
๐Ÿฒ	\ud835\udff2	True
๐Ÿณ	\ud835\udff3	True
๐Ÿด	\ud835\udff4	True
๐Ÿต	\ud835\udff5	True
๐Ÿถ	\ud835\udff6	True
๐Ÿท	\ud835\udff7	True
๐Ÿธ	\ud835\udff8	True
๐Ÿน	\ud835\udff9	True
๐Ÿบ	\ud835\udffa	True
๐Ÿป	\ud835\udffb	True
๐Ÿผ	\ud835\udffc	True
๐Ÿฝ	\ud835\udffd	True
๐Ÿพ	\ud835\udffe	True
๐Ÿฟ	\ud835\udfff	True
๐…€	\ud800\udd40	True
๐…	\ud800\udd41	True
๐…‚	\ud800\udd42	True
๐…ƒ	\ud800\udd43	True
๐…„	\ud800\udd44	True
๐……	\ud800\udd45	True
๐…†	\ud800\udd46	True
๐…‡	\ud800\udd47	True
๐…ˆ	\ud800\udd48	True
๐…‰	\ud800\udd49	True
๐…Š	\ud800\udd4a	True
๐…‹	\ud800\udd4b	True
๐…Œ	\ud800\udd4c	True
๐…	\ud800\udd4d	True
๐…Ž	\ud800\udd4e	True
๐…	\ud800\udd4f	True
๐…	\ud800\udd50	True
๐…‘	\ud800\udd51	True
๐…’	\ud800\udd52	True
๐…“	\ud800\udd53	True
๐…”	\ud800\udd54	True
๐…•	\ud800\udd55	True
๐…–	\ud800\udd56	True
๐…—	\ud800\udd57	True
๐…˜	\ud800\udd58	True
๐…™	\ud800\udd59	True
๐…š	\ud800\udd5a	True
๐…›	\ud800\udd5b	True
๐…œ	\ud800\udd5c	True
๐…	\ud800\udd5d	True
๐…ž	\ud800\udd5e	True
๐…Ÿ	\ud800\udd5f	True
๐… 	\ud800\udd60	True
๐…ก	\ud800\udd61	True
๐…ข	\ud800\udd62	True
๐…ฃ	\ud800\udd63	True
๐…ค	\ud800\udd64	True
๐…ฅ	\ud800\udd65	True
๐…ฆ	\ud800\udd66	True
๐…ง	\ud800\udd67	True
๐…จ	\ud800\udd68	True
๐…ฉ	\ud800\udd69	True
๐…ช	\ud800\udd6a	True
๐…ซ	\ud800\udd6b	True
๐…ฌ	\ud800\udd6c	True
๐…ญ	\ud800\udd6d	True
๐…ฎ	\ud800\udd6e	True
๐…ฏ	\ud800\udd6f	True
๐…ฐ	\ud800\udd70	True
๐…ฑ	\ud800\udd71	True
๐…ฒ	\ud800\udd72	True
๐…ณ	\ud800\udd73	True
๐…ด	\ud800\udd74	True
๐	\ud800\udf41	True
๐Š	\ud800\udf4a	True
๐‘	\ud800\udfd1	True
๐’	\ud800\udfd2	True
๐“	\ud800\udfd3	True
๐”	\ud800\udfd4	True
๐•	\ud800\udfd5	True
๐’€	\ud809\udc00	True
๐’	\ud809\udc01	True
๐’‚	\ud809\udc02	True
๐’ƒ	\ud809\udc03	True
๐’„	\ud809\udc04	True
๐’…	\ud809\udc05	True
๐’†	\ud809\udc06	True
๐’‡	\ud809\udc07	True
๐’ˆ	\ud809\udc08	True
๐’‰	\ud809\udc09	True
๐’Š	\ud809\udc0a	True
๐’‹	\ud809\udc0b	True
๐’Œ	\ud809\udc0c	True
๐’	\ud809\udc0d	True
๐’Ž	\ud809\udc0e	True
๐’	\ud809\udc0f	True
๐’	\ud809\udc10	True
๐’‘	\ud809\udc11	True
๐’’	\ud809\udc12	True
๐’“	\ud809\udc13	True
๐’”	\ud809\udc14	True
๐’•	\ud809\udc15	True
๐’–	\ud809\udc16	True
๐’—	\ud809\udc17	True
๐’˜	\ud809\udc18	True
๐’™	\ud809\udc19	True
๐’š	\ud809\udc1a	True
๐’›	\ud809\udc1b	True
๐’œ	\ud809\udc1c	True
๐’	\ud809\udc1d	True
๐’ž	\ud809\udc1e	True
๐’Ÿ	\ud809\udc1f	True
๐’ 	\ud809\udc20	True
๐’ก	\ud809\udc21	True
๐’ข	\ud809\udc22	True
๐’ฃ	\ud809\udc23	True
๐’ค	\ud809\udc24	True
๐’ฅ	\ud809\udc25	True
๐’ฆ	\ud809\udc26	True
๐’ง	\ud809\udc27	True
๐’จ	\ud809\udc28	True
๐’ฉ	\ud809\udc29	True
๐’ช	\ud809\udc2a	True
๐’ซ	\ud809\udc2b	True
๐’ฌ	\ud809\udc2c	True
๐’ญ	\ud809\udc2d	True
๐’ฎ	\ud809\udc2e	True
๐’ฏ	\ud809\udc2f	True
๐’ฐ	\ud809\udc30	True
๐’ฑ	\ud809\udc31	True
๐’ฒ	\ud809\udc32	True
๐’ณ	\ud809\udc33	True
๐’ด	\ud809\udc34	True
๐’ต	\ud809\udc35	True
๐’ถ	\ud809\udc36	True
๐’ท	\ud809\udc37	True
๐’ธ	\ud809\udc38	True
๐’น	\ud809\udc39	True
๐’บ	\ud809\udc3a	True
๐’ป	\ud809\udc3b	True
๐’ผ	\ud809\udc3c	True
๐’ฝ	\ud809\udc3d	True
๐’พ	\ud809\udc3e	True
๐’ฟ	\ud809\udc3f	True
๐’‘€	\ud809\udc40	True
๐’‘	\ud809\udc41	True
๐’‘‚	\ud809\udc42	True
๐’‘ƒ	\ud809\udc43	True
๐’‘„	\ud809\udc44	True
๐’‘…	\ud809\udc45	True
๐’‘†	\ud809\udc46	True
๐’‘‡	\ud809\udc47	True
๐’‘ˆ	\ud809\udc48	True
๐’‘‰	\ud809\udc49	True
๐’‘Š	\ud809\udc4a	True
๐’‘‹	\ud809\udc4b	True
๐’‘Œ	\ud809\udc4c	True
๐’‘	\ud809\udc4d	True
๐’‘Ž	\ud809\udc4e	True
๐’‘	\ud809\udc4f	True
๐’‘	\ud809\udc50	True
๐’‘‘	\ud809\udc51	True
๐’‘’	\ud809\udc52	True
๐’‘“	\ud809\udc53	True
๐’‘”	\ud809\udc54	True
๐’‘•	\ud809\udc55	True
๐’‘–	\ud809\udc56	True
๐’‘—	\ud809\udc57	True
๐’‘˜	\ud809\udc58	True
๐’‘™	\ud809\udc59	True
๐’‘š	\ud809\udc5a	True
๐’‘›	\ud809\udc5b	True
๐’‘œ	\ud809\udc5c	True
๐’‘	\ud809\udc5d	True
๐’‘ž	\ud809\udc5e	True
๐’‘Ÿ	\ud809\udc5f	True
๐’‘ 	\ud809\udc60	True
๐’‘ก	\ud809\udc61	True
๐’‘ข	\ud809\udc62	True
๐„‡	\ud800\udd07	True
๐„ˆ	\ud800\udd08	True
๐„‰	\ud800\udd09	True
๐„Š	\ud800\udd0a	True
๐„‹	\ud800\udd0b	True
๐„Œ	\ud800\udd0c	True
๐„	\ud800\udd0d	True
๐„Ž	\ud800\udd0e	True
๐„	\ud800\udd0f	True
๐„	\ud800\udd10	True
๐„‘	\ud800\udd11	True
๐„’	\ud800\udd12	True
๐„“	\ud800\udd13	True
๐„”	\ud800\udd14	True
๐„•	\ud800\udd15	True
๐„–	\ud800\udd16	True
๐„—	\ud800\udd17	True
๐„˜	\ud800\udd18	True
๐„™	\ud800\udd19	True
๐„š	\ud800\udd1a	True
๐„›	\ud800\udd1b	True
๐„œ	\ud800\udd1c	True
๐„	\ud800\udd1d	True
๐„ž	\ud800\udd1e	True
๐„Ÿ	\ud800\udd1f	True
๐„ 	\ud800\udd20	True
๐„ก	\ud800\udd21	True
๐„ข	\ud800\udd22	True
๐„ฃ	\ud800\udd23	True
๐„ค	\ud800\udd24	True
๐„ฅ	\ud800\udd25	True
๐„ฆ	\ud800\udd26	True
๐„ง	\ud800\udd27	True
๐„จ	\ud800\udd28	True
๐„ฉ	\ud800\udd29	True
๐„ช	\ud800\udd2a	True
๐„ซ	\ud800\udd2b	True
๐„ฌ	\ud800\udd2c	True
๐„ญ	\ud800\udd2d	True
๐„ฎ	\ud800\udd2e	True
๐„ฏ	\ud800\udd2f	True
๐„ฐ	\ud800\udd30	True
๐„ฑ	\ud800\udd31	True
๐„ฒ	\ud800\udd32	True
๐„ณ	\ud800\udd33	True
๐…ต	\ud800\udd75	True
๐…ถ	\ud800\udd76	True
๐…ท	\ud800\udd77	True
๐…ธ	\ud800\udd78	True
๐†Š	\ud800\udd8a	True
๐Œ 	\ud800\udf20	True
๐Œก	\ud800\udf21	True
๐Œข	\ud800\udf22	True
๐Œฃ	\ud800\udf23	True
๐ก˜	\ud802\udc58	True
๐ก™	\ud802\udc59	True
๐กš	\ud802\udc5a	True
๐ก›	\ud802\udc5b	True
๐กœ	\ud802\udc5c	True
๐ก	\ud802\udc5d	True
๐กž	\ud802\udc5e	True
๐กŸ	\ud802\udc5f	True
๐ค–	\ud802\udd16	True
๐ค—	\ud802\udd17	True
๐ค˜	\ud802\udd18	True
๐ค™	\ud802\udd19	True
๐คš	\ud802\udd1a	True
๐ค›	\ud802\udd1b	True
๐ฉ€	\ud802\ude40	True
๐ฉ	\ud802\ude41	True
๐ฉ‚	\ud802\ude42	True
๐ฉƒ	\ud802\ude43	True
๐ฉ„	\ud802\ude44	True
๐ฉ…	\ud802\ude45	True
๐ฉ†	\ud802\ude46	True
๐ฉ‡	\ud802\ude47	True
๐ฉฝ	\ud802\ude7d	True
๐ฉพ	\ud802\ude7e	True
๐ญ˜	\ud802\udf58	True
๐ญ™	\ud802\udf59	True
๐ญš	\ud802\udf5a	True
๐ญ›	\ud802\udf5b	True
๐ญœ	\ud802\udf5c	True
๐ญ	\ud802\udf5d	True
๐ญž	\ud802\udf5e	True
๐ญŸ	\ud802\udf5f	True
๐ญธ	\ud802\udf78	True
๐ญน	\ud802\udf79	True
๐ญบ	\ud802\udf7a	True
๐ญป	\ud802\udf7b	True
๐ญผ	\ud802\udf7c	True
๐ญฝ	\ud802\udf7d	True
๐ญพ	\ud802\udf7e	True
๐ญฟ	\ud802\udf7f	True
๐น 	\ud803\ude60	True
๐นก	\ud803\ude61	True
๐นข	\ud803\ude62	True
๐นฃ	\ud803\ude63	True
๐นค	\ud803\ude64	True
๐นฅ	\ud803\ude65	True
๐นฆ	\ud803\ude66	True
๐นง	\ud803\ude67	True
๐นจ	\ud803\ude68	True
๐นฉ	\ud803\ude69	True
๐นช	\ud803\ude6a	True
๐นซ	\ud803\ude6b	True
๐นฌ	\ud803\ude6c	True
๐นญ	\ud803\ude6d	True
๐นฎ	\ud803\ude6e	True
๐นฏ	\ud803\ude6f	True
๐นฐ	\ud803\ude70	True
๐นฑ	\ud803\ude71	True
๐นฒ	\ud803\ude72	True
๐นณ	\ud803\ude73	True
๐นด	\ud803\ude74	True
๐นต	\ud803\ude75	True
๐นถ	\ud803\ude76	True
๐นท	\ud803\ude77	True
๐นธ	\ud803\ude78	True
๐นน	\ud803\ude79	True
๐นบ	\ud803\ude7a	True
๐นป	\ud803\ude7b	True
๐นผ	\ud803\ude7c	True
๐นฝ	\ud803\ude7d	True
๐นพ	\ud803\ude7e	True
๐‘’	\ud804\udc52	True
๐‘“	\ud804\udc53	True
๐‘”	\ud804\udc54	True
๐‘•	\ud804\udc55	True
๐‘–	\ud804\udc56	True
๐‘—	\ud804\udc57	True
๐‘˜	\ud804\udc58	True
๐‘™	\ud804\udc59	True
๐‘š	\ud804\udc5a	True
๐‘›	\ud804\udc5b	True
๐‘œ	\ud804\udc5c	True
๐‘	\ud804\udc5d	True
๐‘ž	\ud804\udc5e	True
๐‘Ÿ	\ud804\udc5f	True
๐‘ 	\ud804\udc60	True
๐‘ก	\ud804\udc61	True
๐‘ข	\ud804\udc62	True
๐‘ฃ	\ud804\udc63	True
๐‘ค	\ud804\udc64	True
๐‘ฅ	\ud804\udc65	True
๐ 	\ud834\udf60	True
๐ก	\ud834\udf61	True
๐ข	\ud834\udf62	True
๐ฃ	\ud834\udf63	True
๐ค	\ud834\udf64	True
๐ฅ	\ud834\udf65	True
๐ฆ	\ud834\udf66	True
๐ง	\ud834\udf67	True
๐จ	\ud834\udf68	True
๐ฉ	\ud834\udf69	True
๐ช	\ud834\udf6a	True
๐ซ	\ud834\udf6b	True
๐ฌ	\ud834\udf6c	True
๐ญ	\ud834\udf6d	True
๐ฎ	\ud834\udf6e	True
๐ฏ	\ud834\udf6f	True
๐ฐ	\ud834\udf70	True
๐ฑ	\ud834\udf71	True
๐Ÿ„€	\ud83c\udd00	True
๐Ÿ„	\ud83c\udd01	True
๐Ÿ„‚	\ud83c\udd02	True
๐Ÿ„ƒ	\ud83c\udd03	True
๐Ÿ„„	\ud83c\udd04	True
๐Ÿ„…	\ud83c\udd05	True
๐Ÿ„†	\ud83c\udd06	True
๐Ÿ„‡	\ud83c\udd07	True
๐Ÿ„ˆ	\ud83c\udd08	True
๐Ÿ„‰	\ud83c\udd09	True
๐Ÿ„Š	\ud83c\udd0a	True