2017-09-03 2 views
4

J'ai deux variables comme ci-dessous:Comment concatuer deux chaînes utf8 dans erlang?

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

comment puis-je concaténer A et B?

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

rendements supérieurs exception error: bad argument

+0

Vous pouvez trouver la réponse ici https://stackoverflow.com/questions/600642/how-do-i-concatenate-two-binaries-in-erlang – Qbeck

Répondre

7

utf8 est tout simplement l'encodage. Il est binaire comme n'importe quel autre binaire:

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 .: Le résultat est affiché inversé en raison du comportement du navigateur Web. Il est affiché dans le bon ordre dans la console.