UTF-8 encode and decode: Difference between revisions
Content deleted Content added
m →=={{header|Racket}}==: stub added |
|||
Line 178: | Line 178: | ||
=={{header|Racket}}== |
=={{header|Racket}}== |
||
<lang racket> |
<lang racket>#lang racket |
||
</lang> |
|||
(define char-map |
|||
'((LATIN-CAPITAL-LETTER-A . #\U0041) |
|||
(LATIN-SMALL-LETTER-O-WITH-DIAERESIS . #\U00F6) |
|||
(CYRILLIC-CAPITAL-LETTER-ZHE . #\U0416) |
|||
(EURO-SIGN . #\U20AC) |
|||
(MUSICAL-SYMBOL-G-CLEF . #\U1D11E))) |
|||
(for ((name.char (in-list char-map))) |
|||
(define name (car name.char)) |
|||
(define chr (cdr name.char)) |
|||
(let ((bites (bytes->list (string->bytes/utf-8 (list->string (list chr)))))) |
|||
(printf "~s\t~a\t~a\t~a\t~a~%" chr chr |
|||
(map (curryr number->string 16) bites) |
|||
(bytes->string/utf-8 (list->bytes bites)) |
|||
name)))</lang> |
|||
{{out}} |
{{out}} |
||
<pre>#\A A (41) A LATIN-CAPITAL-LETTER-A |
|||
<pre> |
|||
#\ö ö (c3 b6) ö LATIN-SMALL-LETTER-O-WITH-DIAERESIS |
|||
</pre> |
|||
#\Ж Ж (d0 96) Ж CYRILLIC-CAPITAL-LETTER-ZHE |
|||
#\€ € (e2 82 ac) € EURO-SIGN |
|||
#\𝄞 𝄞 (f0 9d 84 9e) 𝄞 MUSICAL-SYMBOL-G-CLEF</pre> |
|||
=={{header|Sidef}}== |
=={{header|Sidef}}== |