Show ASCII table: Difference between revisions
Thundergnat (talk | contribs) (→{{header|Perl 6}}: Display wiki-table instead of ASCII art) |
Thundergnat (talk | contribs) (→{{header|Perl 6}}: Add somewhat bogus mouse hover tooltips) |
||
Line 195: | Line 195: | ||
sub name ($n) { |
sub name ($n) { |
||
given $n { |
given $n { |
||
when * < 33 { (0x2400 + $n).chr } # display symbol names |
when * < 33 { (0x2400 + $n).chr } # display symbol names |
||
when 124 { '<nowiki>|</nowiki>' } # meh. deal with wiki formatting |
when 124 { '<nowiki>|</nowiki>' } # meh. deal with wiki formatting |
||
when 127 { '␡' } |
when 127 { '␡' } |
||
default { $n.chr } |
default { $n.chr } |
||
} |
} |
||
Line 206: | Line 206: | ||
for (^128).rotor(N) -> @row { |
for (^128).rotor(N) -> @row { |
||
say '|-'; |
say '|-'; |
||
printf("|%d\<br/>0x%02X\<br/>\<big>\<big>%s\</big>\</big>\n", |
printf("|%d\<br/>0x%02X\<br/>\<big>\<big title=\"%s\" >%s\</big>\</big>\n", |
||
for @row; |
$_, $_, .&name.uniname.subst('SYMBOL FOR ', ''), .&name) for @row; |
||
} |
} |
||
Line 214: | Line 214: | ||
{|class="wikitable" style="text-align:center;background-color:hsl(39, 90%, 95%)" |
{|class="wikitable" style="text-align:center;background-color:hsl(39, 90%, 95%)" |
||
|- |
|- |
||
|0<br/>0x00<br/><big><big>␀</big></big> |
|0<br/>0x00<br/><big><big title="NULL" >␀</big></big> |
||
|1<br/>0x01<br/><big><big>␁</big></big> |
|1<br/>0x01<br/><big><big title="START OF HEADING" >␁</big></big> |
||
|2<br/>0x02<br/><big><big>␂</big></big> |
|2<br/>0x02<br/><big><big title="START OF TEXT" >␂</big></big> |
||
|3<br/>0x03<br/><big><big>␃</big></big> |
|3<br/>0x03<br/><big><big title="END OF TEXT" >␃</big></big> |
||
|4<br/>0x04<br/><big><big>␄</big></big> |
|4<br/>0x04<br/><big><big title="END OF TRANSMISSION" >␄</big></big> |
||
|5<br/>0x05<br/><big><big>␅</big></big> |
|5<br/>0x05<br/><big><big title="ENQUIRY" >␅</big></big> |
||
|6<br/>0x06<br/><big><big>␆</big></big> |
|6<br/>0x06<br/><big><big title="ACKNOWLEDGE" >␆</big></big> |
||
|7<br/>0x07<br/><big><big>␇</big></big> |
|7<br/>0x07<br/><big><big title="BELL" >␇</big></big> |
||
|8<br/>0x08<br/><big><big>␈</big></big> |
|8<br/>0x08<br/><big><big title="BACKSPACE" >␈</big></big> |
||
|9<br/>0x09<br/><big><big>␉</big></big> |
|9<br/>0x09<br/><big><big title="HORIZONTAL TABULATION" >␉</big></big> |
||
|10<br/>0x0A<br/><big><big>␊</big></big> |
|10<br/>0x0A<br/><big><big title="LINE FEED" >␊</big></big> |
||
|11<br/>0x0B<br/><big><big>␋</big></big> |
|11<br/>0x0B<br/><big><big title="VERTICAL TABULATION" >␋</big></big> |
||
|12<br/>0x0C<br/><big><big>␌</big></big> |
|12<br/>0x0C<br/><big><big title="FORM FEED" >␌</big></big> |
||
|13<br/>0x0D<br/><big><big>␍</big></big> |
|13<br/>0x0D<br/><big><big title="CARRIAGE RETURN" >␍</big></big> |
||
|14<br/>0x0E<br/><big><big>␎</big></big> |
|14<br/>0x0E<br/><big><big title="SHIFT OUT" >␎</big></big> |
||
|15<br/>0x0F<br/><big><big>␏</big></big> |
|15<br/>0x0F<br/><big><big title="SHIFT IN" >␏</big></big> |
||
|- |
|- |
||
|16<br/>0x10<br/><big><big>␐</big></big> |
|16<br/>0x10<br/><big><big title="DATA LINK ESCAPE" >␐</big></big> |
||
|17<br/>0x11<br/><big><big>␑</big></big> |
|17<br/>0x11<br/><big><big title="DEVICE CONTROL ONE" >␑</big></big> |
||
|18<br/>0x12<br/><big><big>␒</big></big> |
|18<br/>0x12<br/><big><big title="DEVICE CONTROL TWO" >␒</big></big> |
||
|19<br/>0x13<br/><big><big>␓</big></big> |
|19<br/>0x13<br/><big><big title="DEVICE CONTROL THREE" >␓</big></big> |
||
|20<br/>0x14<br/><big><big>␔</big></big> |
|20<br/>0x14<br/><big><big title="DEVICE CONTROL FOUR" >␔</big></big> |
||
|21<br/>0x15<br/><big><big>␕</big></big> |
|21<br/>0x15<br/><big><big title="NEGATIVE ACKNOWLEDGE" >␕</big></big> |
||
|22<br/>0x16<br/><big><big>␖</big></big> |
|22<br/>0x16<br/><big><big title="SYNCHRONOUS IDLE" >␖</big></big> |
||
|23<br/>0x17<br/><big><big>␗</big></big> |
|23<br/>0x17<br/><big><big title="END OF TRANSMISSION BLOCK" >␗</big></big> |
||
|24<br/>0x18<br/><big><big>␘</big></big> |
|24<br/>0x18<br/><big><big title="CANCEL" >␘</big></big> |
||
|25<br/>0x19<br/><big><big>␙</big></big> |
|25<br/>0x19<br/><big><big title="END OF MEDIUM" >␙</big></big> |
||
|26<br/>0x1A<br/><big><big>␚</big></big> |
|26<br/>0x1A<br/><big><big title="SUBSTITUTE" >␚</big></big> |
||
|27<br/>0x1B<br/><big><big>␛</big></big> |
|27<br/>0x1B<br/><big><big title="ESCAPE" >␛</big></big> |
||
|28<br/>0x1C<br/><big><big>␜</big></big> |
|28<br/>0x1C<br/><big><big title="FILE SEPARATOR" >␜</big></big> |
||
|29<br/>0x1D<br/><big><big>␝</big></big> |
|29<br/>0x1D<br/><big><big title="GROUP SEPARATOR" >␝</big></big> |
||
|30<br/>0x1E<br/><big><big>␞</big></big> |
|30<br/>0x1E<br/><big><big title="RECORD SEPARATOR" >␞</big></big> |
||
|31<br/>0x1F<br/><big><big>␟</big></big> |
|31<br/>0x1F<br/><big><big title="UNIT SEPARATOR" >␟</big></big> |
||
|- |
|- |
||
|32<br/>0x20<br/><big><big>␠</big></big> |
|32<br/>0x20<br/><big><big title="SPACE" >␠</big></big> |
||
|33<br/>0x21<br/><big><big>!</big></big> |
|33<br/>0x21<br/><big><big title="EXCLAMATION MARK" >!</big></big> |
||
|34<br/>0x22<br/><big><big>"</big></big> |
|34<br/>0x22<br/><big><big title="QUOTATION MARK" >"</big></big> |
||
|35<br/>0x23<br/><big><big>#</big></big> |
|35<br/>0x23<br/><big><big title="NUMBER SIGN" >#</big></big> |
||
|36<br/>0x24<br/><big><big>$</big></big> |
|36<br/>0x24<br/><big><big title="DOLLAR SIGN" >$</big></big> |
||
|37<br/>0x25<br/><big><big>%</big></big> |
|37<br/>0x25<br/><big><big title="PERCENT SIGN" >%</big></big> |
||
|38<br/>0x26<br/><big><big>&</big></big> |
|38<br/>0x26<br/><big><big title="AMPERSAND" >&</big></big> |
||
|39<br/>0x27<br/><big><big>'</big></big> |
|39<br/>0x27<br/><big><big title="APOSTROPHE" >'</big></big> |
||
|40<br/>0x28<br/><big><big>(</big></big> |
|40<br/>0x28<br/><big><big title="LEFT PARENTHESIS" >(</big></big> |
||
|41<br/>0x29<br/><big><big>)</big></big> |
|41<br/>0x29<br/><big><big title="RIGHT PARENTHESIS" >)</big></big> |
||
|42<br/>0x2A<br/><big><big>*</big></big> |
|42<br/>0x2A<br/><big><big title="ASTERISK" >*</big></big> |
||
|43<br/>0x2B<br/><big><big>+</big></big> |
|43<br/>0x2B<br/><big><big title="PLUS SIGN" >+</big></big> |
||
|44<br/>0x2C<br/><big><big>,</big></big> |
|44<br/>0x2C<br/><big><big title="COMMA" >,</big></big> |
||
|45<br/>0x2D<br/><big><big>-</big></big> |
|45<br/>0x2D<br/><big><big title="HYPHEN-MINUS" >-</big></big> |
||
|46<br/>0x2E<br/><big><big>.</big></big> |
|46<br/>0x2E<br/><big><big title="FULL STOP" >.</big></big> |
||
|47<br/>0x2F<br/><big><big>/</big></big> |
|47<br/>0x2F<br/><big><big title="SOLIDUS" >/</big></big> |
||
|- |
|- |
||
|48<br/>0x30<br/><big><big>0</big></big> |
|48<br/>0x30<br/><big><big title="DIGIT ZERO" >0</big></big> |
||
|49<br/>0x31<br/><big><big>1</big></big> |
|49<br/>0x31<br/><big><big title="DIGIT ONE" >1</big></big> |
||
|50<br/>0x32<br/><big><big>2</big></big> |
|50<br/>0x32<br/><big><big title="DIGIT TWO" >2</big></big> |
||
|51<br/>0x33<br/><big><big>3</big></big> |
|51<br/>0x33<br/><big><big title="DIGIT THREE" >3</big></big> |
||
|52<br/>0x34<br/><big><big>4</big></big> |
|52<br/>0x34<br/><big><big title="DIGIT FOUR" >4</big></big> |
||
|53<br/>0x35<br/><big><big>5</big></big> |
|53<br/>0x35<br/><big><big title="DIGIT FIVE" >5</big></big> |
||
|54<br/>0x36<br/><big><big>6</big></big> |
|54<br/>0x36<br/><big><big title="DIGIT SIX" >6</big></big> |
||
|55<br/>0x37<br/><big><big>7</big></big> |
|55<br/>0x37<br/><big><big title="DIGIT SEVEN" >7</big></big> |
||
|56<br/>0x38<br/><big><big>8</big></big> |
|56<br/>0x38<br/><big><big title="DIGIT EIGHT" >8</big></big> |
||
|57<br/>0x39<br/><big><big>9</big></big> |
|57<br/>0x39<br/><big><big title="DIGIT NINE" >9</big></big> |
||
|58<br/>0x3A<br/><big><big>:</big></big> |
|58<br/>0x3A<br/><big><big title="COLON" >:</big></big> |
||
|59<br/>0x3B<br/><big><big>;</big></big> |
|59<br/>0x3B<br/><big><big title="SEMICOLON" >;</big></big> |
||
|60<br/>0x3C<br/><big><big><</big></big> |
|60<br/>0x3C<br/><big><big title="LESS-THAN SIGN" ><</big></big> |
||
|61<br/>0x3D<br/><big><big>=</big></big> |
|61<br/>0x3D<br/><big><big title="EQUALS SIGN" >=</big></big> |
||
|62<br/>0x3E<br/><big><big>></big></big> |
|62<br/>0x3E<br/><big><big title="GREATER-THAN SIGN" >></big></big> |
||
|63<br/>0x3F<br/><big><big>?</big></big> |
|63<br/>0x3F<br/><big><big title="QUESTION MARK" >?</big></big> |
||
|- |
|- |
||
|64<br/>0x40<br/><big><big>@</big></big> |
|64<br/>0x40<br/><big><big title="COMMERCIAL AT" >@</big></big> |
||
|65<br/>0x41<br/><big><big>A</big></big> |
|65<br/>0x41<br/><big><big title="LATIN CAPITAL LETTER A" >A</big></big> |
||
|66<br/>0x42<br/><big><big>B</big></big> |
|66<br/>0x42<br/><big><big title="LATIN CAPITAL LETTER B" >B</big></big> |
||
|67<br/>0x43<br/><big><big>C</big></big> |
|67<br/>0x43<br/><big><big title="LATIN CAPITAL LETTER C" >C</big></big> |
||
|68<br/>0x44<br/><big><big>D</big></big> |
|68<br/>0x44<br/><big><big title="LATIN CAPITAL LETTER D" >D</big></big> |
||
|69<br/>0x45<br/><big><big>E</big></big> |
|69<br/>0x45<br/><big><big title="LATIN CAPITAL LETTER E" >E</big></big> |
||
|70<br/>0x46<br/><big><big>F</big></big> |
|70<br/>0x46<br/><big><big title="LATIN CAPITAL LETTER F" >F</big></big> |
||
|71<br/>0x47<br/><big><big>G</big></big> |
|71<br/>0x47<br/><big><big title="LATIN CAPITAL LETTER G" >G</big></big> |
||
|72<br/>0x48<br/><big><big>H</big></big> |
|72<br/>0x48<br/><big><big title="LATIN CAPITAL LETTER H" >H</big></big> |
||
|73<br/>0x49<br/><big><big>I</big></big> |
|73<br/>0x49<br/><big><big title="LATIN CAPITAL LETTER I" >I</big></big> |
||
|74<br/>0x4A<br/><big><big>J</big></big> |
|74<br/>0x4A<br/><big><big title="LATIN CAPITAL LETTER J" >J</big></big> |
||
|75<br/>0x4B<br/><big><big>K</big></big> |
|75<br/>0x4B<br/><big><big title="LATIN CAPITAL LETTER K" >K</big></big> |
||
|76<br/>0x4C<br/><big><big>L</big></big> |
|76<br/>0x4C<br/><big><big title="LATIN CAPITAL LETTER L" >L</big></big> |
||
|77<br/>0x4D<br/><big><big>M</big></big> |
|77<br/>0x4D<br/><big><big title="LATIN CAPITAL LETTER M" >M</big></big> |
||
|78<br/>0x4E<br/><big><big>N</big></big> |
|78<br/>0x4E<br/><big><big title="LATIN CAPITAL LETTER N" >N</big></big> |
||
|79<br/>0x4F<br/><big><big>O</big></big> |
|79<br/>0x4F<br/><big><big title="LATIN CAPITAL LETTER O" >O</big></big> |
||
|- |
|- |
||
|80<br/>0x50<br/><big><big>P</big></big> |
|80<br/>0x50<br/><big><big title="LATIN CAPITAL LETTER P" >P</big></big> |
||
|81<br/>0x51<br/><big><big>Q</big></big> |
|81<br/>0x51<br/><big><big title="LATIN CAPITAL LETTER Q" >Q</big></big> |
||
|82<br/>0x52<br/><big><big>R</big></big> |
|82<br/>0x52<br/><big><big title="LATIN CAPITAL LETTER R" >R</big></big> |
||
|83<br/>0x53<br/><big><big>S</big></big> |
|83<br/>0x53<br/><big><big title="LATIN CAPITAL LETTER S" >S</big></big> |
||
|84<br/>0x54<br/><big><big>T</big></big> |
|84<br/>0x54<br/><big><big title="LATIN CAPITAL LETTER T" >T</big></big> |
||
|85<br/>0x55<br/><big><big>U</big></big> |
|85<br/>0x55<br/><big><big title="LATIN CAPITAL LETTER U" >U</big></big> |
||
|86<br/>0x56<br/><big><big>V</big></big> |
|86<br/>0x56<br/><big><big title="LATIN CAPITAL LETTER V" >V</big></big> |
||
|87<br/>0x57<br/><big><big>W</big></big> |
|87<br/>0x57<br/><big><big title="LATIN CAPITAL LETTER W" >W</big></big> |
||
|88<br/>0x58<br/><big><big>X</big></big> |
|88<br/>0x58<br/><big><big title="LATIN CAPITAL LETTER X" >X</big></big> |
||
|89<br/>0x59<br/><big><big>Y</big></big> |
|89<br/>0x59<br/><big><big title="LATIN CAPITAL LETTER Y" >Y</big></big> |
||
|90<br/>0x5A<br/><big><big>Z</big></big> |
|90<br/>0x5A<br/><big><big title="LATIN CAPITAL LETTER Z" >Z</big></big> |
||
|91<br/>0x5B<br/><big><big>[</big></big> |
|91<br/>0x5B<br/><big><big title="LEFT SQUARE BRACKET" >[</big></big> |
||
|92<br/>0x5C<br/><big><big>\</big></big> |
|92<br/>0x5C<br/><big><big title="REVERSE SOLIDUS" >\</big></big> |
||
|93<br/>0x5D<br/><big><big>]</big></big> |
|93<br/>0x5D<br/><big><big title="RIGHT SQUARE BRACKET" >]</big></big> |
||
|94<br/>0x5E<br/><big><big>^</big></big> |
|94<br/>0x5E<br/><big><big title="CIRCUMFLEX ACCENT" >^</big></big> |
||
|95<br/>0x5F<br/><big><big>_</big></big> |
|95<br/>0x5F<br/><big><big title="LOW LINE" >_</big></big> |
||
|- |
|- |
||
|96<br/>0x60<br/><big><big>`</big></big> |
|96<br/>0x60<br/><big><big title="GRAVE ACCENT" >`</big></big> |
||
|97<br/>0x61<br/><big><big>a</big></big> |
|97<br/>0x61<br/><big><big title="LATIN SMALL LETTER A" >a</big></big> |
||
|98<br/>0x62<br/><big><big>b</big></big> |
|98<br/>0x62<br/><big><big title="LATIN SMALL LETTER B" >b</big></big> |
||
|99<br/>0x63<br/><big><big>c</big></big> |
|99<br/>0x63<br/><big><big title="LATIN SMALL LETTER C" >c</big></big> |
||
|100<br/>0x64<br/><big><big>d</big></big> |
|100<br/>0x64<br/><big><big title="LATIN SMALL LETTER D" >d</big></big> |
||
|101<br/>0x65<br/><big><big>e</big></big> |
|101<br/>0x65<br/><big><big title="LATIN SMALL LETTER E" >e</big></big> |
||
|102<br/>0x66<br/><big><big>f</big></big> |
|102<br/>0x66<br/><big><big title="LATIN SMALL LETTER F" >f</big></big> |
||
|103<br/>0x67<br/><big><big>g</big></big> |
|103<br/>0x67<br/><big><big title="LATIN SMALL LETTER G" >g</big></big> |
||
|104<br/>0x68<br/><big><big>h</big></big> |
|104<br/>0x68<br/><big><big title="LATIN SMALL LETTER H" >h</big></big> |
||
|105<br/>0x69<br/><big><big>i</big></big> |
|105<br/>0x69<br/><big><big title="LATIN SMALL LETTER I" >i</big></big> |
||
|106<br/>0x6A<br/><big><big>j</big></big> |
|106<br/>0x6A<br/><big><big title="LATIN SMALL LETTER J" >j</big></big> |
||
|107<br/>0x6B<br/><big><big>k</big></big> |
|107<br/>0x6B<br/><big><big title="LATIN SMALL LETTER K" >k</big></big> |
||
|108<br/>0x6C<br/><big><big>l</big></big> |
|108<br/>0x6C<br/><big><big title="LATIN SMALL LETTER L" >l</big></big> |
||
|109<br/>0x6D<br/><big><big>m</big></big> |
|109<br/>0x6D<br/><big><big title="LATIN SMALL LETTER M" >m</big></big> |
||
|110<br/>0x6E<br/><big><big>n</big></big> |
|110<br/>0x6E<br/><big><big title="LATIN SMALL LETTER N" >n</big></big> |
||
|111<br/>0x6F<br/><big><big>o</big></big> |
|111<br/>0x6F<br/><big><big title="LATIN SMALL LETTER O" >o</big></big> |
||
|- |
|- |
||
|112<br/>0x70<br/><big><big>p</big></big> |
|112<br/>0x70<br/><big><big title="LATIN SMALL LETTER P" >p</big></big> |
||
|113<br/>0x71<br/><big><big>q</big></big> |
|113<br/>0x71<br/><big><big title="LATIN SMALL LETTER Q" >q</big></big> |
||
|114<br/>0x72<br/><big><big>r</big></big> |
|114<br/>0x72<br/><big><big title="LATIN SMALL LETTER R" >r</big></big> |
||
|115<br/>0x73<br/><big><big>s</big></big> |
|115<br/>0x73<br/><big><big title="LATIN SMALL LETTER S" >s</big></big> |
||
|116<br/>0x74<br/><big><big>t</big></big> |
|116<br/>0x74<br/><big><big title="LATIN SMALL LETTER T" >t</big></big> |
||
|117<br/>0x75<br/><big><big>u</big></big> |
|117<br/>0x75<br/><big><big title="LATIN SMALL LETTER U" >u</big></big> |
||
|118<br/>0x76<br/><big><big>v</big></big> |
|118<br/>0x76<br/><big><big title="LATIN SMALL LETTER V" >v</big></big> |
||
|119<br/>0x77<br/><big><big>w</big></big> |
|119<br/>0x77<br/><big><big title="LATIN SMALL LETTER W" >w</big></big> |
||
|120<br/>0x78<br/><big><big>x</big></big> |
|120<br/>0x78<br/><big><big title="LATIN SMALL LETTER X" >x</big></big> |
||
|121<br/>0x79<br/><big><big>y</big></big> |
|121<br/>0x79<br/><big><big title="LATIN SMALL LETTER Y" >y</big></big> |
||
|122<br/>0x7A<br/><big><big>z</big></big> |
|122<br/>0x7A<br/><big><big title="LATIN SMALL LETTER Z" >z</big></big> |
||
|123<br/>0x7B<br/><big><big>{</big></big> |
|123<br/>0x7B<br/><big><big title="LEFT CURLY BRACKET" >{</big></big> |
||
|124<br/>0x7C<br/><big><big><nowiki>|</nowiki></big></big> |
|124<br/>0x7C<br/><big><big title="LESS-THAN SIGN" ><nowiki>|</nowiki></big></big> |
||
|125<br/>0x7D<br/><big><big>}</big></big> |
|125<br/>0x7D<br/><big><big title="RIGHT CURLY BRACKET" >}</big></big> |
||
|126<br/>0x7E<br/><big><big>~</big></big> |
|126<br/>0x7E<br/><big><big title="TILDE" >~</big></big> |
||
|127<br/>0x7F<br/><big><big>␡</big></big> |
|127<br/>0x7F<br/><big><big title="DELETE" >␡</big></big> |
||
|} |
|} |
||
Revision as of 23:11, 9 August 2018
- Task
Show ASCII character set from values 32 to 127 in table format.
C
<lang c>#include <stdio.h>
int main() {
int i, j; char k[4]; for (i = 0; i < 16; ++i) { for (j = 32 + i; j < 128; j += 16) { switch (j) { default: sprintf(k, "%c", j); break; case 32: sprintf(k, "Spc"); break; case 127: sprintf(k, "Del"); break; } printf("%3d : %-3s ", j, k); } printf("\n"); } return 0;
}</lang>
- Output:
32 : Spc 48 : 0 64 : @ 80 : P 96 : ` 112 : p 33 : ! 49 : 1 65 : A 81 : Q 97 : a 113 : q 34 : " 50 : 2 66 : B 82 : R 98 : b 114 : r 35 : # 51 : 3 67 : C 83 : S 99 : c 115 : s 36 : $ 52 : 4 68 : D 84 : T 100 : d 116 : t 37 : % 53 : 5 69 : E 85 : U 101 : e 117 : u 38 : & 54 : 6 70 : F 86 : V 102 : f 118 : v 39 : ' 55 : 7 71 : G 87 : W 103 : g 119 : w 40 : ( 56 : 8 72 : H 88 : X 104 : h 120 : x 41 : ) 57 : 9 73 : I 89 : Y 105 : i 121 : y 42 : * 58 : : 74 : J 90 : Z 106 : j 122 : z 43 : + 59 : ; 75 : K 91 : [ 107 : k 123 : { 44 : , 60 : < 76 : L 92 : \ 108 : l 124 : | 45 : - 61 : = 77 : M 93 : ] 109 : m 125 : } 46 : . 62 : > 78 : N 94 : ^ 110 : n 126 : ~ 47 : / 63 : ? 79 : O 95 : _ 111 : o 127 : Del
Factor
Idiomatic version
<lang factor>USING: combinators formatting io kernel math math.ranges pair-rocket sequences ; IN: rosetta-code.ascii-table
- row-values ( n -- seq ) [ 32 + ] [ 112 + ] bi 16 <range> ;
- ascii>output ( n -- str )
{ 32 => [ "Spc" ] 127 => [ "Del" ] [ "" 1sequence ] } case ;
- print-row ( n -- )
row-values [ dup ascii>output "%3d : %-3s " printf ] each nl ;
- print-ascii-table ( -- ) 16 <iota> [ print-row ] each ;
MAIN: print-ascii-table</lang>
Go translation
<lang factor>USING: combinators formatting io kernel math math.ranges pair-rocket sequences ; IN: rosetta-code.ascii-table
- main ( -- )
16 <iota> [ 32 + 127 16 <range> [ dup { 32 => [ "Spc" ] 127 => [ "Del" ] [ "" 1sequence ] } case "%3d : %-3s " printf ] each nl ] each
MAIN: main</lang>
- Output:
32 : Spc 48 : 0 64 : @ 80 : P 96 : ` 112 : p 33 : ! 49 : 1 65 : A 81 : Q 97 : a 113 : q 34 : " 50 : 2 66 : B 82 : R 98 : b 114 : r 35 : # 51 : 3 67 : C 83 : S 99 : c 115 : s 36 : $ 52 : 4 68 : D 84 : T 100 : d 116 : t 37 : % 53 : 5 69 : E 85 : U 101 : e 117 : u 38 : & 54 : 6 70 : F 86 : V 102 : f 118 : v 39 : ' 55 : 7 71 : G 87 : W 103 : g 119 : w 40 : ( 56 : 8 72 : H 88 : X 104 : h 120 : x 41 : ) 57 : 9 73 : I 89 : Y 105 : i 121 : y 42 : * 58 : : 74 : J 90 : Z 106 : j 122 : z 43 : + 59 : ; 75 : K 91 : [ 107 : k 123 : { 44 : , 60 : < 76 : L 92 : \ 108 : l 124 : | 45 : - 61 : = 77 : M 93 : ] 109 : m 125 : } 46 : . 62 : > 78 : N 94 : ^ 110 : n 126 : ~ 47 : / 63 : ? 79 : O 95 : _ 111 : o 127 : Del
Go
<lang go>package main
import "fmt"
func main() {
for i := 0; i < 16; i++ { for j := 32 + i; j < 128; j += 16 { k := string(j) switch j { case 32: k = "Spc" case 127: k = "Del" } fmt.Printf("%3d : %-3s ", j, k) } fmt.Println() }
} </lang>
- Output:
32 : Spc 48 : 0 64 : @ 80 : P 96 : ` 112 : p 33 : ! 49 : 1 65 : A 81 : Q 97 : a 113 : q 34 : " 50 : 2 66 : B 82 : R 98 : b 114 : r 35 : # 51 : 3 67 : C 83 : S 99 : c 115 : s 36 : $ 52 : 4 68 : D 84 : T 100 : d 116 : t 37 : % 53 : 5 69 : E 85 : U 101 : e 117 : u 38 : & 54 : 6 70 : F 86 : V 102 : f 118 : v 39 : ' 55 : 7 71 : G 87 : W 103 : g 119 : w 40 : ( 56 : 8 72 : H 88 : X 104 : h 120 : x 41 : ) 57 : 9 73 : I 89 : Y 105 : i 121 : y 42 : * 58 : : 74 : J 90 : Z 106 : j 122 : z 43 : + 59 : ; 75 : K 91 : [ 107 : k 123 : { 44 : , 60 : < 76 : L 92 : \ 108 : l 124 : | 45 : - 61 : = 77 : M 93 : ] 109 : m 125 : } 46 : . 62 : > 78 : N 94 : ^ 110 : n 126 : ~ 47 : / 63 : ? 79 : O 95 : _ 111 : o 127 : Del
Kotlin
<lang scala>// Version 1.2.60
fun main(args: Array<String>) {
for (i in 0..15) { for (j in 32 + i..127 step 16) { val k = when (j) { 32 -> "Spc" 127 -> "Del" else -> j.toChar().toString() } System.out.printf("%3d : %-3s ", j, k) } println() }
}</lang>
- Output:
32 : Spc 48 : 0 64 : @ 80 : P 96 : ` 112 : p 33 : ! 49 : 1 65 : A 81 : Q 97 : a 113 : q 34 : " 50 : 2 66 : B 82 : R 98 : b 114 : r 35 : # 51 : 3 67 : C 83 : S 99 : c 115 : s 36 : $ 52 : 4 68 : D 84 : T 100 : d 116 : t 37 : % 53 : 5 69 : E 85 : U 101 : e 117 : u 38 : & 54 : 6 70 : F 86 : V 102 : f 118 : v 39 : ' 55 : 7 71 : G 87 : W 103 : g 119 : w 40 : ( 56 : 8 72 : H 88 : X 104 : h 120 : x 41 : ) 57 : 9 73 : I 89 : Y 105 : i 121 : y 42 : * 58 : : 74 : J 90 : Z 106 : j 122 : z 43 : + 59 : ; 75 : K 91 : [ 107 : k 123 : { 44 : , 60 : < 76 : L 92 : \ 108 : l 124 : | 45 : - 61 : = 77 : M 93 : ] 109 : m 125 : } 46 : . 62 : > 78 : N 94 : ^ 110 : n 126 : ~ 47 : / 63 : ? 79 : O 95 : _ 111 : o 127 : Del
Perl 6
Alternately, and perhaps more usefully, output as a wiki-table rather than ASCII art:
<lang perl6>constant \N = 16;
sub name ($n) {
given $n { when * < 33 { (0x2400 + $n).chr } # display symbol names when 124 { '|' } # meh. deal with wiki formatting when 127 { '␡' } default { $n.chr } }
}
say '{|class="wikitable" style="text-align:center;background-color:hsl(39, 90%, 95%)"';
for (^128).rotor(N) -> @row {
say '|-'; printf("|%d\
0x%02X\
\\%s\\\n", $_, $_, .&name.uniname.subst('SYMBOL FOR ', ), .&name) for @row;
}
say '|}';</lang>
- Output:
0 0x00 ␀ |
1 0x01 ␁ |
2 0x02 ␂ |
3 0x03 ␃ |
4 0x04 ␄ |
5 0x05 ␅ |
6 0x06 ␆ |
7 0x07 ␇ |
8 0x08 ␈ |
9 0x09 ␉ |
10 0x0A ␊ |
11 0x0B ␋ |
12 0x0C ␌ |
13 0x0D ␍ |
14 0x0E ␎ |
15 0x0F ␏ |
16 0x10 ␐ |
17 0x11 ␑ |
18 0x12 ␒ |
19 0x13 ␓ |
20 0x14 ␔ |
21 0x15 ␕ |
22 0x16 ␖ |
23 0x17 ␗ |
24 0x18 ␘ |
25 0x19 ␙ |
26 0x1A ␚ |
27 0x1B ␛ |
28 0x1C ␜ |
29 0x1D ␝ |
30 0x1E ␞ |
31 0x1F ␟ |
32 0x20 ␠ |
33 0x21 ! |
34 0x22 " |
35 0x23 # |
36 0x24 $ |
37 0x25 % |
38 0x26 & |
39 0x27 ' |
40 0x28 ( |
41 0x29 ) |
42 0x2A * |
43 0x2B + |
44 0x2C , |
45 0x2D - |
46 0x2E . |
47 0x2F / |
48 0x30 0 |
49 0x31 1 |
50 0x32 2 |
51 0x33 3 |
52 0x34 4 |
53 0x35 5 |
54 0x36 6 |
55 0x37 7 |
56 0x38 8 |
57 0x39 9 |
58 0x3A : |
59 0x3B ; |
60 0x3C < |
61 0x3D = |
62 0x3E > |
63 0x3F ? |
64 0x40 @ |
65 0x41 A |
66 0x42 B |
67 0x43 C |
68 0x44 D |
69 0x45 E |
70 0x46 F |
71 0x47 G |
72 0x48 H |
73 0x49 I |
74 0x4A J |
75 0x4B K |
76 0x4C L |
77 0x4D M |
78 0x4E N |
79 0x4F O |
80 0x50 P |
81 0x51 Q |
82 0x52 R |
83 0x53 S |
84 0x54 T |
85 0x55 U |
86 0x56 V |
87 0x57 W |
88 0x58 X |
89 0x59 Y |
90 0x5A Z |
91 0x5B [ |
92 0x5C \ |
93 0x5D ] |
94 0x5E ^ |
95 0x5F _ |
96 0x60 ` |
97 0x61 a |
98 0x62 b |
99 0x63 c |
100 0x64 d |
101 0x65 e |
102 0x66 f |
103 0x67 g |
104 0x68 h |
105 0x69 i |
106 0x6A j |
107 0x6B k |
108 0x6C l |
109 0x6D m |
110 0x6E n |
111 0x6F o |
112 0x70 p |
113 0x71 q |
114 0x72 r |
115 0x73 s |
116 0x74 t |
117 0x75 u |
118 0x76 v |
119 0x77 w |
120 0x78 x |
121 0x79 y |
122 0x7A z |
123 0x7B { |
124 0x7C | |
125 0x7D } |
126 0x7E ~ |
127 0x7F ␡ |
Ring
<lang ring>
- Project : Show Ascii table
load "guilib.ring" load "stdlib.ring"
decarr = newlist(16,6) ascarr = newlist(16,6)
new qapp
{ win1 = new qwidget() { setwindowtitle("Show Ascii table") setgeometry(100,100,800,600) for n = 1 to 16 for m = 1 to 6 decarr[n][m] = new qpushbutton(win1) { x = 150+m*60 y = 30 + n*30 ind = string((m-1)*16+n+31) setgeometry(x,y,30,30) settext(ind) } next next for n = 1 to 16 for m = 1 to 6 ascarr[n][m] = new qpushbutton(win1) { x = 180+m*60 y = 30 + n*30 ind = (m-1)*16+n+31 setgeometry(x,y,30,30) if ind = 32 settext("Spc") loop ok if ind = 127 settext("Del") loop ok settext(char(ind)) } next next show() } exec() }
</lang> Output: