2017-09-03 151 views
4

我有兩個變量如下:如何在erlang中連接兩個utf8字符串?

A = <<"سعید"/utf8>>, 
B = <<"حیدری"/utf8>>, 

我如何Concat的AB

C = <<A/utf8, B/utf8>>. 

線的上方返回exception error: bad argument

+0

你可以在這裏找到答案https://stackoverflow.com/questions/600642/how-do-i-concatenate-two-binaries-in-erlang – Qbeck

回答

7

utf8只是編碼。它與任何其他二進制一樣是二進制的:

1> A = <<"سعید"/utf8>>, 
1> B = <<"حیدری"/utf8>>, 
1> C = <<A/bytes, B/bytes>>. 
<<216,179,216,185,219,140,216,175,216,173,219,140,216,175, 
    216,177,219,140>> 
2> io:put_chars([C, $\n]). 
سعیدحیدری 
ok 

P.S .:由於Web瀏覽器行爲而顯示的結果相反。它在控制檯中以正確的順序顯示。