UTF-8 encode and decode: Difference between revisions

Content added Content deleted
Line 178:
 
=={{header|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}}
<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}}==