Школоло / Говнокод #27528 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
  69. 69
  70. 70
  71. 71
  72. 72
  73. 73
#!/usr/bin/env instantfpc

program PrintCharTable;

const
	space = ' '; { }
	point = '.'; {.}
	caret = '^'; {^}
	vline = '|'; {│}
	hline = '-'; {─}
	cross = '+'; {┼}
	hex_0 = ord('0');
	hex_a = ord('A')-10;

function tohex(d: integer): char;
begin
	if d < 10 then
		tohex := chr(d+hex_0)
	else
		tohex := chr(d+hex_a)
end;

var
	i, j: integer;
	code: integer;

begin
	write(space, space, vline);
	for i := 0 to 15 do
		write(space, point, tohex(i));
	writeln;

	write(hline, hline, cross);
	for i := 0 to 15 do
		write(hline, hline, hline);
	writeln;
	
	for i := 0 to 15 do begin
		write(tohex(i), point, vline);
		for j := 0 to 15 do begin
			code := i * 16 + j;
			if code < 32 then
				write(space, caret, chr(code+64))
			else if code = 127 then
				write(space, caret, chr(code-64))
			else
				write(space, space, chr(code))
		end;
		writeln
	end
end.

{
$ ./print_ascii.pas | iconv -f koi8-r
  | .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
--+------------------------------------------------
0.| ^@ ^A ^B ^C ^D ^E ^F ^G ^H ^I ^J ^K ^L ^M ^N ^O
1.| ^P ^Q ^R ^S ^T ^U ^V ^W ^X ^Y ^Z ^[ ^\ ^] ^^ ^_
2.|     !  "  #  $  %  &  '  (  )  *  +  ,  -  .  /
3.|  0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?
4.|  @  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O
5.|  P  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]  ^  _
6.|  `  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o
7.|  p  q  r  s  t  u  v  w  x  y  z  {  |  }  ~ ^?
8.|  ─  │  ┌  ┐  └  ┘  ├  ┤  ┬  ┴  ┼  ▀  ▄  █  ▌  ▐
9.|  ░  ▒  ▓  ⌠  ■  ∙  √  ≈  ≤  ≥     ⌡  °  ²  ·  ÷
A.|  ═  ║  ╒  ё  ╓  ╔  ╕  ╖  ╗  ╘  ╙  ╚  ╛  ╜  ╝  ╞
B.|  ╟  ╠  ╡  Ё  ╢  ╣  ╤  ╥  ╦  ╧  ╨  ╩  ╪  ╫  ╬  ©
C.|  ю  а  б  ц  д  е  ф  г  х  и  й  к  л  м  н  о
D.|  п  я  р  с  т  у  ж  в  ь  ы  з  ш  э  щ  ч  ъ
E.|  Ю  А  Б  Ц  Д  Е  Ф  Г  Х  И  Й  К  Л  М  Н  О
F.|  П  Я  Р  С  Т  У  Ж  В  Ь  Ы  З  Ш  Э  Щ  Ч  Ъ
}

Печатает таблицу нужной кодировки. Пример использования в комменте после end.

Запостил: Threadwalker Threadwalker, (Updated )

Комментарии (35) RSS

  • Из-за iconv пришлось делать рамку таблицы ASCII-символами, хотя можно было бы более красивой псевдографикой.
    Ответить
    • На самом деле, нельзя, но сообщение выше я удалить или поменять уже не могу. А почему нельзя — сами догадаетесь.
      Ответить
      • Первые пять минут можно редактировать коммент, потом всё.

        А нельзя потому что sed символы + и - в самой табличке испортит, а не только рамочку переделает? Ну тут можно более сложный скрипт сделать, сед же не просто регулярка.
        Ответить
  • Забавно, что в браузере табличку разнесло. Хотя вроде и шрифт моноширинный.
    Ответить
    • У меня в браузере всё норм. Правда мне не нравится, что нельзя свои сообщения удалять на этом сайте. И я не знал, что в описании можно bbcode (ведь можно же?), а то бы воткнул вывод программы в описание.
      Ответить
      • Хм, а в десктопных браузерах норм. Видимо в андроидском браузере щревты немного не такие...
        Ответить
          • Ну да, ну да. А если в машине пепельница забилась — покупать новую машину?
            Ответить
      • > нельзя свои сообщения удалять на этом сайте

        – можно, попиши пару недель про гомоеблю и наркоту, вжух, и они удалятся
        (∩`-´)⊃━☆゚.*・。゚
        Ответить
  • Ладно, а если так, то табличку разносит?
    $ ./print_ascii.pas | iconv -c -f cp1251 | \
        sed '1,2y/|-+/│─┼/;s/\.|/.│/;s/\([^ ]\)\s\{4\}\([^ ]\)/\1\x20\x20\x20\x20\x20\2/'
      │ .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
    ──┼────────────────────────────────────────────────
    0.│ ^@ ^A ^B ^C ^D ^E ^F ^G ^H ^I ^J ^K ^L ^M ^N ^O
    1.│ ^P ^Q ^R ^S ^T ^U ^V ^W ^X ^Y ^Z ^[ ^\ ^] ^^ ^_
    2.│     !  "  #  $  %  &  '  (  )  *  +  ,  -  .  /
    3.│  0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?
    4.│  @  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O
    5.│  P  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]  ^  _
    6.│  `  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o
    7.│  p  q  r  s  t  u  v  w  x  y  z  {  |  }  ~ ^?
    8.│  Ђ  Ѓ  ‚  ѓ  „  …  †  ‡  €  ‰  Љ  ‹  Њ  Ќ  Ћ  Џ
    9.│  ђ  ‘  ’  “  ”  •  –  —     ™  љ  ›  њ  ќ  ћ  џ
    A.│     Ў  ў  Ј  ¤  Ґ  ¦  §  Ё  ©  Є  «  ¬  ­  ®  Ї
    B.│  °  ±  І  і  ґ  µ  ¶  ·  ё  №  є  »  ј  Ѕ  ѕ  ї
    C.│  А  Б  В  Г  Д  Е  Ж  З  И  Й  К  Л  М  Н  О  П
    D.│  Р  С  Т  У  Ф  Х  Ц  Ч  Ш  Щ  Ъ  Ы  Ь  Э  Ю  Я
    E.│  а  б  в  г  д  е  ж  з  и  й  к  л  м  н  о  п
    F.│  р  с  т  у  ф  х  ц  ч  ш  щ  ъ  ы  ь  э  ю  я
    Ответить
    • В хроме/фф на десктопе норм. В андроиде псевдографика опять разъехалась.

      Кстати, а что с символом 0xAD? Это пробел нулевой ширины какой-то?
      Ответить
  • как не изголяйся, оно всё равно может поползти и понятно почему
    но конечно самое говно в призывах apt instant fpc оскорбляющих человеческое достоинство и общественную мораль
    Ответить
  • я придумал
    надо нагенерить cal'ом все 640 месяцев, чтобы было достаточно каждому
    и потом sed'ом выделять сегодня

    а по вопросу куда эти файлы класть начнется большая прыщевойна, которая наконец расколет FSF и избавит мир от насильников и коммунистов
    Ответить
    • Давайте начнём прыщевойну, создашь? А я в сторонке постою.
      Ответить
    • > расколет FSF и избавит мир от насильников и коммунистов

      Вычеркнул тебя из списка своих кумиров и примеров для подражания, проверть.
      Ответить
      • Лолечка, предлагаю тебе вступить в отряд прыщевоинов, вернее его возглавить! Твоей основной задачей будет придумывание мотивирующих лозунгов. Согласен?
        Ответить
          • Отлично! Теперь нужно набрать отряд прыщевоинов и ждём когда гологуб начнёт войну.
            Ответить
      • облаял тебя из интернет-палисадника

        ­     |\_/|                  
             | @ @   Woof!                           ''',
             |   <>              _                o_)O \)____)"
             |  _/\------____ ((| |))              \_        )
             |               `--' |           woof!  '',,,,,, 
         ____|_       ___|   |___.'                    ||  ||
        /_/_____/____/_______|                        "--'"--'
        Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8