How do I convert binary UTF-8 string to string?
If you know how to lowercase unicode character and key words here are "without converting it to list and back", then the answer could be:
<< <<(unicode_to_lower(C))/utf8>> || <<C/utf8>> <= <<"HELLO">> >>.
string:lowercase in Erlang 20 works with binaries:
1> string:lowercase(<<"HELLO">>).
<<"hello">>