【问题标题】:erlang send socket cyrillic dataerlang 发送套接字西里尔文数据
【发布时间】: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,通常有一些方便的方法可以将字符串视为字节,但对于普通文本,您需要使用字符编码。

标签: sockets unicode tcp erlang erlang-otp


【解决方案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:你能提供你遇到问题的代码吗?
猜你喜欢
  • 1970-01-01
  • 2011-10-08
  • 2011-09-13
  • 1970-01-01
  • 1970-01-01
  • 2015-06-11
  • 2011-03-26
  • 2014-03-04
  • 1970-01-01
相关资源
最近更新 更多