erlang 发送套接字西里尔文数据
Posted
技术标签:
【中文标题】erlang 发送套接字西里尔文数据【英文标题】:erlang send socket cyrillic data 【发布时间】:2011-06-11 18:49:51 【问题描述】:我正在尝试从用 Erlang 编写的服务器发送数据:
gen_tcp:send(Socket, "Server connection refused \r\n").
没关系。但是当我尝试使用非拉丁符号发送数据时,例如。 G。西里尔文,我看到错误报告。例如,如果我使用:
gen_tcp:send(Socket, "Привет \r\n").
我看到的不是字符串,而是错误报告。如何通过 Erlang 的 TCP 套接字发送包含非拉丁字符的字符串?
【问题讨论】:
如果我错了,请纠正我,但套接字不只是用于发送字节流吗?对于 ASCII,通常有一些方便的方法可以将字符串视为字节,但对于普通文本,您需要使用字符编码。 【参考方案1】:试试这个:
8> unicode:characters_to_binary("пириуэт да").
<<208,191,208,184,209,128,208,184,209,131,209,141,209,130,
32,208,180,208,176>>
9>
【讨论】:
这在 shell 中工作,但是当我把它放入 gen_server 代码时我得到错误报告 @shk:你能提供你遇到问题的代码吗?以上是关于erlang 发送套接字西里尔文数据的主要内容,如果未能解决你的问题,请参考以下文章