Erlangでは文字列は数値のリストと全く同じものとして取り扱われます。具体的に見ていきましょう。文字の前に$をつければその文字を表す文字コードの十進表記が返されるということでした。Erlangでは、データ(正確には「項」(term)と言います)を , で区切って [ ] で囲んだものがリストなので
1> [$A, $B, $C]. "ABC"となります。 "ABC" というのはErlangにおける文字列の表記です。文字列表記で
2> "ABC". "ABC"としてもやはり同じ"ABC"が返ります。
3> [65, 66, 67]. "ABC"ところで、数値が0~255の範囲内、言い換えれば1byte文字であるISO-8859-1の範囲内であれば、数値のリストを勝手に文字に変えてくれるのですが、多バイト文字についてはそうはいきません。ISO-8859-1の範囲外の数値が1つでもあれば、文字への変換をあきらめてしまいます。
4> [65, 66, 20154, 40165]. [65, 66, 20154, 40165]