В документации Elixir сказано, что вы можете использовать следующие escape-последовательности:
\xNN — байт, представленный шестнадцатеричным числом NN\uNNNN — кодовая точка Unicode, представленная NNNNТак что, если я хочу избежать кодовой точки, которая длиннее 4 шестнадцатеричных цифр, то есть находится за пределами базовой многоязычной плоскости, например 🚒 U+1f692 FIRE ENGINE или все символы частного использования?





Есть один синтаксис, который не описан на этой странице:
"\u{1f692}"
А также: <<240, 159, 154, 146>>.
Вы также можете использовать двоичный файл: <<0x1f692::utf8>>
iex> cp = 0x1f692
iex> "Nee #{<<cp::utf8>>} naw"
"Nee 🚒 naw"
Или занести в charlist [0x1f692]:
iex> "Nee #{[cp]} naw"
"Nee 🚒 naw"
Оба они полезны, если у вас есть кодовая точка в переменной.
Спасибо, отправил PR github.com/elixir-lang/elixir/pull/12295