#!/usr/bin/env newlisp ; regex compile of UTF-8 patterns (if (catch (regex-comp "ほげほげ" 0x800) 'result) (println "UTF-8 compile sucessfull") (println "problem in UTF-8 compile")) ; UTF-8 - transforming from and to nmbers, upper-case'ing and lower-case'ing ; should show Chinese characters if editor or terminal is UTF-8 capable (println "characters entered by keyboard:") (println (set 'utf8str "我能吞下玻璃而不伤身体。")) (println "should look the same as made from unicode numbers:") (set 'utf8chars '(25105 33021 21534 19979 29627 29827 32780 19981 20260 36523 20307 12290)) (println (set 'utf8str (join (map char utf8chars)))) (print "and be transformd back to the same numbers: ") (println (= (map char (explode utf8str)) utf8chars)) (println "checking upper-case'ing on russian letters") (println "абвгдеёжзийклмнопрстуфхцчшщъыьэюя") (println (upper-case "абвгдеёжзийклмнопрстуфхцчшщъыьэюя") " should be uppercase of previous") (println (lower-case (upper-case "абвгдеёжзийклмнопрстуфхцчшщъыьэюя")) " and back to lowercase") (exit)