Печать символов Юникода в Poly/ML
Как напечатать строчный греческий эпсилон в SML (используя Poly/ML)?
Я пробовал следующее:
print "ε"; (* Error-unprintable character found in file *)
print "\u03B5"; (* Error-Conversion exception (Invalid string constant) raised while converting \u03B5 to string *)
Это просто невозможно? Конечно, работа терминала заключается в том, чтобы фактически визуализировать символ, и, следовательно, должна быть возможна печать необработанного кода символа в стандартный вывод?
1 ответ
Решение
Escape-последовательность Unicode \u03B5
соответствует UTF-16.
Ваш терминал, вероятно, работает с UTF-8, в котором ε равно 0xCE 0xB5. Ввод их в виде десятичных байтов:
> print "\206\181\n";
ε