fork download
  1. import java.nio.charset.Charset;
  2.  
  3. //プログラミングのお題スレ Part15
  4. //mevius.5ch.net/test/read.cgi/tech/1564310397/932
  5. //
  6. //932 名前:デフォルトの名無しさん[] 投稿日:2019/11/10(日) 21:37:46.78 ID:OK7x/7YO
  7. //文字コードがシフトJISでもUnicodeでも3つ以上の連番となる文字列(最長一致)を、
  8. //コード範囲とともにすべて表示せよ。例えば、それらのうちの1つに関する表示は、
  9. //
  10. //824F..8258
  11. //FF10..FF19
  12. //01234566789
  13. //
  14. //となる。なお、シフトJISには機種依存文字を含んで構わない。
  15.  
  16. // 940 名前:デフォルトの名無しさん[] 投稿日:2019/11/11(月) 22:37:18.90 ID:hxYpUSvR
  17. // >>935
  18. // 正解。Windowsには機種依存文字
  19. //
  20. // 8754..875D
  21. // 2160..2169
  22. // ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ
  23. //
  24. // などもあるが、機種依存文字を含んでも構わないという出題だったので、
  25. // 含まなくてもOK。
  26. class Ideone
  27. {
  28. // static final Charset CHARSET = Charset.forName("MS932");
  29. // static final Charset CHARSET = Charset.forName("Shift-JIS");
  30. // static final Charset CHARSET = Charset.forName("x-MS932_0213");
  31. static final Charset CHARSET = Charset.forName("x-SJIS_0213");
  32.  
  33. public static void main(String[] args)
  34. {
  35. int u = 0;
  36. int c = convert(u);
  37. for (int unicode = 1; unicode < 1048576 + 65536; unicode++)
  38. {
  39. int code = convert(unicode);
  40. if (unicode - u != code - c)
  41. {
  42. int len = unicode - u;
  43. if (len >= 3)
  44. {
  45. StringBuilder sb = new StringBuilder();
  46. for (int i = u; i < unicode; i++)
  47. sb.appendCodePoint(i);
  48. System.out.printf("UNICODE:%X..%X %s:%X..%X %s%n", u, u + len - 1, CHARSET, c, c + len - 1, sb);
  49. }
  50. u = unicode;
  51. c = code;
  52. }
  53. }
  54. }
  55.  
  56. static int convert(int unicode)
  57. {
  58. char[] utf16 = Character.toChars(unicode);
  59. String string = String.valueOf(utf16);
  60. return bytesToInt(string.getBytes(CHARSET));
  61. }
  62.  
  63. static int bytesToInt(byte... bytes)
  64. {
  65. int result = 0;
  66. for (byte b : bytes)
  67. result = result << 8 | b & 0xFF;
  68. return result;
  69. }
  70. }
Success #stdin #stdout 0.7s 110820KB
stdin
Standard input is empty
stdout
UNICODE:0..7F x-SJIS_0213:0..7F 	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
UNICODE:A9..AB x-SJIS_0213:8545..8547 ©ª«
UNICODE:AD..AF x-SJIS_0213:8548..854A ­®¯
UNICODE:B7..D6 x-SJIS_0213:854D..856C ·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ
UNICODE:D8..E9 x-SJIS_0213:856D..857E ØÙÚÛÜÝÞßàáâãäåæçèé
UNICODE:EA..F6 x-SJIS_0213:8580..858C êëìíîïðñòóôõö
UNICODE:F8..100 x-SJIS_0213:858D..8595 øùúûüýþÿĀ
UNICODE:2E5..2E9 x-SJIS_0213:8680..8684 ˥˦˧˨˩
UNICODE:391..3A1 x-SJIS_0213:839F..83AF ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ
UNICODE:3A3..3A9 x-SJIS_0213:83B0..83B6 ΣΤΥΦΧΨΩ
UNICODE:3B1..3C1 x-SJIS_0213:83BF..83CF αβγδεζηθικλμνξοπρ
UNICODE:3C3..3C9 x-SJIS_0213:83D0..83D6 στυφχψω
UNICODE:410..415 x-SJIS_0213:8440..8445 АБВГДЕ
UNICODE:416..42F x-SJIS_0213:8447..8460 ЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
UNICODE:430..435 x-SJIS_0213:8470..8475 абвгде
UNICODE:436..43D x-SJIS_0213:8477..847E жзийклмн
UNICODE:43E..44F x-SJIS_0213:8480..8491 опрстуфхцчшщъыьэюя
UNICODE:2047..2049 x-SJIS_0213:84EA..84EC ⁇⁈⁉
UNICODE:2153..2155 x-SJIS_0213:8498..849A ⅓⅔⅕
UNICODE:2160..216A x-SJIS_0213:8754..875E ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪ
UNICODE:2170..217B x-SJIS_0213:86B3..86BE ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻ
UNICODE:2295..2297 x-SJIS_0213:81CF..81D1 ⊕⊖⊗
UNICODE:23BE..23CC x-SJIS_0213:8461..846F ⎾⎿⏀⏁⏂⏃⏄⏅⏆⏇⏈⏉⏊⏋⏌
UNICODE:2460..2473 x-SJIS_0213:8740..8753 ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳
UNICODE:24D0..24E9 x-SJIS_0213:86BF..86D8 ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ
UNICODE:24EB..24F4 x-SJIS_0213:86A9..86B2 ⓫⓬⓭⓮⓯⓰⓱⓲⓳⓴
UNICODE:24F5..24FE x-SJIS_0213:83D8..83E1 ⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾
UNICODE:25D0..25D3 x-SJIS_0213:84E5..84E8 ◐◑◒◓
UNICODE:2600..2603 x-SJIS_0213:83E6..83E9 ☀☁☂☃
UNICODE:2776..277F x-SJIS_0213:869F..86A8 ❶❷❸❹❺❻❼❽❾❿
UNICODE:3000..3002 x-SJIS_0213:8140..8142  、。
UNICODE:3005..3007 x-SJIS_0213:8158..815A 々〆〇
UNICODE:3008..3011 x-SJIS_0213:8171..817A 〈〉《》「」『』【】
UNICODE:3033..3035 x-SJIS_0213:81B1..81B3 〳〴〵
UNICODE:3041..3096 x-SJIS_0213:829F..82F4 ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんゔゕゖ
UNICODE:30A1..30DF x-SJIS_0213:8340..837E ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミ
UNICODE:30E0..30F6 x-SJIS_0213:8380..8396 ムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ
UNICODE:30F7..30FA x-SJIS_0213:8492..8495 ヷヸヹヺ
UNICODE:31F0..31F9 x-SJIS_0213:83EC..83F5 ㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹ
UNICODE:31FA..31FF x-SJIS_0213:83F7..83FC ㇺㇻㇼㇽㇾㇿ
UNICODE:3251..325F x-SJIS_0213:84BF..84CD ㉑㉒㉓㉔㉕㉖㉗㉘㉙㉚㉛㉜㉝㉞㉟
UNICODE:32A4..32A8 x-SJIS_0213:8785..8789 ㊤㊥㊦㊧㊨
UNICODE:32B1..32BF x-SJIS_0213:84CE..84DC ㊱㊲㊳㊴㊵㊶㊷㊸㊹㊺㊻㊼㊽㊾㊿
UNICODE:32D0..32E3 x-SJIS_0213:86D9..86EC ㋐㋑㋒㋓㋔㋕㋖㋗㋘㋙㋚㋛㋜㋝㋞㋟㋠㋡㋢㋣
UNICODE:339C..339E x-SJIS_0213:876F..8771 ㎜㎝㎞
UNICODE:4E9E..4EA0 x-SJIS_0213:98B1..98B3 亞亟亠
UNICODE:51A9..51AB x-SJIS_0213:996F..9971 冩冪冫
UNICODE:5773..5775 x-SJIS_0213:F1E4..F1E6 坳坴坵
UNICODE:58FB..58FD x-SJIS_0213:9AE4..9AE6 壻壼壽
UNICODE:5C67..5C69 x-SJIS_0213:F0B1..F0B3 屧屨屩
UNICODE:5E6B..5E6D x-SJIS_0213:F0FA..F0FC 幫幬幭
UNICODE:5FD2..5FD4 x-SJIS_0213:F2BC..F2BE 忒忓忔
UNICODE:6158..615A x-SJIS_0213:9CCC..9CCE 慘慙慚
UNICODE:666A..666D x-SJIS_0213:F3A3..F3A6 晪晫晬晭
UNICODE:6898..689A x-SJIS_0213:F3EC..F3EE 梘梙梚
UNICODE:6A32..6A34 x-SJIS_0213:F46E..F470 樲樳樴
UNICODE:6AF1..6AF3 x-SJIS_0213:F48C..F48E 櫱櫲櫳
UNICODE:6B0F..6B11 x-SJIS_0213:F492..F494 欏欐欑
UNICODE:6BC7..6BC9 x-SJIS_0213:F4A4..F4A6 毇毈毉
UNICODE:6DCE..6DD0 x-SJIS_0213:F4E5..F4E7 淎淏淐
UNICODE:7106..7108 x-SJIS_0213:F58C..F58E 焆焇焈
UNICODE:742A..742C x-SJIS_0213:ECA6..ECA8 琪琫琬
UNICODE:742E..7430 x-SJIS_0213:ECA9..ECAB 琮琯琰
UNICODE:7620..7622 x-SJIS_0213:E18B..E18D 瘠瘡瘢
UNICODE:7668..766A x-SJIS_0213:E199..E19B 癨癩癪
UNICODE:76B8..76BA x-SJIS_0213:E1AE..E1B0 皸皹皺
UNICODE:789D..789F x-SJIS_0213:F6CA..F6CC 碝碞碟
UNICODE:78F9..78FB x-SJIS_0213:F6D5..F6D7 磹磺磻
UNICODE:7994..7996 x-SJIS_0213:F6E5..F6E7 禔禕禖
UNICODE:7C6E..7C70 x-SJIS_0213:F790..F792 籮籯籰
UNICODE:7F4C..7F4E x-SJIS_0213:E3A0..E3A2 罌罍罎
UNICODE:84EF..84F1 x-SJIS_0213:F8DE..F8E0 蓯蓰蓱
UNICODE:88BC..88BE x-SJIS_0213:F9AD..F9AF 袼袽袾
UNICODE:8918..891A x-SJIS_0213:EE90..EE92 褘褙褚
UNICODE:8F62..8F64 x-SJIS_0213:E780..E782 轢轣轤
UNICODE:904F..9052 x-SJIS_0213:E79F..E7A2 遏遐遑遒
UNICODE:9114..9116 x-SJIS_0213:EEE9..EEEB 鄔鄕鄖
UNICODE:9238..923A x-SJIS_0213:EF45..EF47 鈸鈹鈺
UNICODE:9348..934A x-SJIS_0213:EF58..EF5A 鍈鍉鍊
UNICODE:974D..974F x-SJIS_0213:EF88..EF8A 靍靎靏
UNICODE:991A..991C x-SJIS_0213:FBD8..FBDA 餚餛餜
UNICODE:9931..9933 x-SJIS_0213:FBDC..FBDE 餱餲餳
UNICODE:993A..993C x-SJIS_0213:FBDF..FBE1 餺餻餼
UNICODE:9B27..9B2A x-SJIS_0213:E9A7..E9AA 鬧鬨鬩鬪
UNICODE:9C69..9C6B x-SJIS_0213:FC96..FC98 鱩鱪鱫
UNICODE:9ECE..9ED0 x-SJIS_0213:EA74..EA76 黎黏黐
UNICODE:9EFB..9EFD x-SJIS_0213:EA84..EA86 黻黼黽
UNICODE:9F5F..9F61 x-SJIS_0213:EA92..EA94 齟齠齡
UNICODE:FA4E..FA50 x-SJIS_0213:ED56..ED58 祈祐祖
UNICODE:FF10..FF19 x-SJIS_0213:824F..8258 0123456789
UNICODE:FF21..FF3A x-SJIS_0213:8260..8279 ABCDEFGHIJKLMNOPQRSTUVWXYZ
UNICODE:FF41..FF5A x-SJIS_0213:8281..829A abcdefghijklmnopqrstuvwxyz
UNICODE:FF61..FF9F x-SJIS_0213:A1..DF 。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚