Guest User

verification code for map 870, tn5250

a guest
Aug 2nd, 2018
526
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.54 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. REFERENCE="""
  4. 40  20
  5. 41  A0
  6. 42  â
  7. 43  ä
  8. 44  ţ
  9. 45  á
  10. 46  ă
  11. 47  č
  12. 48  ç
  13. 49  ć
  14. 4A  [
  15. 4B  .
  16. 4C  <
  17. 4D  (
  18. 4E  +
  19. 4F  !
  20. 50  &
  21. 51  é
  22. 52  ę
  23. 53  ë
  24. 54  ů
  25. 55  í
  26. 56  î
  27. 57  ľ
  28. 58  ĺ
  29. 59  ß
  30. 5A  ]
  31. 5B  $
  32. 5C  *
  33. 5D  )
  34. 5E  ;
  35. 5F  ^
  36. 60  -
  37. 61  /
  38. 62  Â
  39. 63  Ä
  40. 64  ˝
  41. 65  Á
  42. 66  Ă
  43. 67  Č
  44. 68  Ç
  45. 69  Ć
  46. 6A     
  47. 6B  ,
  48. 6C  %
  49. 6D  _
  50. 6E  >
  51. 6F  ?
  52. 70  ˇ
  53. 71  É
  54. 72  Ę
  55. 73  Ë
  56. 74  Ů
  57. 75  Í
  58. 76  Î
  59. 77  Ľ
  60. 78  Ĺ
  61. 79  `
  62. 7A  :
  63. 7B  #
  64. 7C  @
  65. 7D  '
  66. 7E  =
  67. 7F  "
  68. 80  ˘
  69. 81  a
  70. 82  b
  71. 83  c
  72. 84  d
  73. 85  e
  74. 86  f
  75. 87  g
  76. 88  h
  77. 89  i
  78. 8A  ś
  79. 8B  ň
  80. 8C  đ
  81. 8D  ý
  82. 8E  ř
  83. 8F  ş
  84. 90  °
  85. 91  j
  86. 92  k
  87. 93  l
  88. 94  m
  89. 95  n
  90. 96  o
  91. 97  p
  92. 98  q
  93. 99  r
  94. 9A  ł
  95. 9B  ń
  96. 9C  š
  97. 9D  ¸
  98. 9E  ˛
  99. 9F  ¤
  100. A0  ą
  101. A1  ~
  102. A2  s
  103. A3  t
  104. A4  u
  105. A5  v
  106. A6  w
  107. A7  x
  108. A8  y
  109. A9  z
  110. AA  Ś
  111. AB  Ň
  112. AC  D0
  113. AD  Ý
  114. AE  Ř
  115. AF  Ş
  116. B0  ˙
  117. B1  Ą
  118. B2  ż
  119. B3  Ţ
  120. B4  Ż
  121. B5  §
  122. B6  ž
  123. B7  ź
  124. B8  Ž
  125. B9  Ź
  126. BA  Ł
  127. BB  Ń
  128. BC  Š
  129. BD  ¨
  130. BE  ´
  131. BF  ×
  132. C0  {
  133. C1  A
  134. C2  B
  135. C3  C
  136. C4  D
  137. C5  E
  138. C6  F
  139. C7  G
  140. C8  H
  141. C9  I
  142. CA 
  143. CB  ô
  144. CC  ö
  145. CD  ŕ
  146. CE  ó
  147. CF  ő
  148. D0  }
  149. D1  J
  150. D2  K
  151. D3  L
  152. D4  M
  153. D5  N
  154. D6  O
  155. D7  P
  156. D8  Q
  157. D9  R
  158. DA  Ě
  159. DB  ű
  160. DC  ü
  161. DD  ť
  162. DE  ú
  163. DF  ě
  164. E0  \
  165. E1  ÷
  166. E2  S
  167. E3  T
  168. E4  U
  169. E5  V
  170. E6  W
  171. E7  X
  172. E8  Y
  173. E9  Z
  174. EA  ď
  175. EB  Ô
  176. EC  Ö
  177. ED  Ŕ
  178. EE  Ó
  179. EF  Ő
  180. F0  0
  181. F1  1
  182. F2  2
  183. F3  3
  184. F4  4
  185. F5  5
  186. F6  6
  187. F7  7
  188. F8  8
  189. F9  9
  190. FA  Ď
  191. FB  Ű
  192. FC  Ü
  193. FD  Ť
  194. FE  Ú
  195. FF  9F
  196. """
  197.  
  198. TN5250 = """
  199.      0,   1,   2,   3, 156,   9, 134, 127,
  200.    151, 141, 142,  11,  12,  13,  14,  15,
  201.     16,  17,  18,  19, 157, 133,   8, 135,
  202.     24,  25, 146, 143,  28,  29,  30,  31,
  203.    128, 129, 130, 131, 132,  10,  23,  27,
  204.    136, 137, 138, 139, 140,   5,   6,   7,
  205.    144, 145,  22, 147, 148, 149, 150,   4,
  206.    152, 153, 154, 155,  20,  21, 158,  26,
  207.     32, 160, 194, 228, 195, 225, 227, 232,
  208.    231, 230,  91,  46,  60,  40,  43,  33,
  209.     38, 233, 163, 235, 249, 237, 222, 181,
  210.    229, 223,  93,  36,  42,  41,  59,  94,
  211.     45,  47, 226, 196, 189, 193, 202, 200,
  212.    199, 198, 124,  44,  37,  95,  62,  63,
  213.    183, 201, 206, 203, 217, 205, 170, 165,
  214.    197,  96,  58,  35,  64,  39,  61,  34,
  215.    162,  97,  98,  99, 100, 101, 102, 103,
  216.    104, 105, 182, 242, 240, 253, 248, 186,
  217.    176, 106, 107, 108, 109, 110, 111, 112,
  218.    113, 114, 179, 241, 185, 184, 178, 164,
  219.    177, 126, 115, 116, 117, 118, 119, 120,
  220.    121, 122, 166, 210, 208, 221, 216, 234,
  221.    254, 161, 191, 238, 175, 167, 255, 190,
  222.    188, 174, 172, 209, 169, 168, 180, 215,
  223.    123,  65,  66,  67,  68,  69,  70,  71,
  224.     72,  73, 173, 244, 246, 224, 243, 245,
  225.    125,  74,  75,  76,  77,  78,  79,  80,
  226.     81,  82, 204, 251, 252, 187, 250, 236,
  227.     92, 247,  83,  84,  85,  86,  87,  88,
  228.     89,  90, 239, 212, 214, 192, 211, 213,
  229.     48,  49,  50,  51,  52,  53,  54,  55,
  230.     56,  57, 207, 219, 220, 171, 218, 159"""
  231.  
  232. refdic = dict()
  233. tndic = dict()
  234. for l in REFERENCE.split('\n'):
  235.     l = l.strip()
  236.     if not l:
  237.         continue
  238.     try:
  239.         x, y = l.split()
  240.     except ValueError:
  241.         continue
  242.     print(x)
  243.     x = int(x, 16)
  244.     if len(y) == 1:
  245.         y = bytes(y, 'iso8859_2')[0]
  246.     else:
  247.         y = int(y, 16)
  248.     refdic[x] = y
  249.  
  250. for x, y in enumerate([d.strip() for d in TN5250.split(',')]):
  251.     print(x, y)
  252.     tndic[x] = int(y)
  253.  
  254. for idx in range(0, 256):
  255.     if idx in refdic:
  256.         if refdic[idx] != tndic[idx]:
  257.             print('! {:3}/{:02X} {:3} {:3}  {:1}'.format(idx, idx,  refdic[idx], tndic[idx], bytes([refdic[idx]]).decode('iso8859_2')))
  258.         else:
  259.             print('  {:3}/{:02X} {:3} {:3}  {:1}'.format(idx, idx, refdic[idx], tndic[idx], bytes([refdic[idx]]).decode('iso8859_2')))
  260.     elif idx in tndic:
  261.         print('  {:3}/{:02X} {:3} {:3}  {:1}'.format(idx, idx, '???', tndic[idx], bytes([tndic[idx]]).decode('iso8859_2')))
Advertisement
Add Comment
Please, Sign In to add comment