2012-03-22 10 views
1

ウェブブラウザにerlangの用語(erlangベースのバックエンド)を送信したいと思います。ブラウザにerlangバイナリを送信する

term_to_binary(Term) 

か::

binary_to_list(term_to_binary(Term)) 

もちろんの問題がスクランブルごみは、ブラウザ側で表示されることです。のようなものを使用してのerlang側の項をエンコードするために十分に簡単です。

質問:いくつかの私は、ブラウザ側で使用することができますエンコーディング、またはそれ以上の可能性のいずれかあり、いくつかのContent-Typeは、私はこれを解読するために、ブラウザ側で受け入れることができますか?

ありがとうございました。

+0

あなたはこれをやる理由を教えてください。 – selle

答えて

1

base64でエンコードします。 ajax経由で入手し、ネイティブwindow.atobまたは数多くの利用可能なlibのいずれかでデコードします。

+1

私はアヤックスに触れません。私はちょうど標準的なhtml、cgi、等を実行する他の提案? –

+0

これは 'io_lib:format/2'でなければなりません –

+0

ブラウザではbase64エンコードがerlangの用語を読むのに役立つことはほとんどありません。 –

2

io_lib:format("~p",[Term])を使用してください。これは、Webページに表示できるerlangの文字列表現を生成します。このquestionとそのanswerをチェックアウトも考えてみましょう。

1

それは、Webブラウザのためであれば、私はJSON文字列のために行くだろう、それはユニコードだとブラウザはnativalyそれをサポートしています。

は多分JSONを考慮して、文字列のためにこのような何か:ブラウザコンソールで

1> HelloJerome = "Hello Jérôme". 
"Hello Jérôme" 
2> HelloJeromeBin = list_to_binary(HelloJerome). 
<<"Hello Jérôme">> 
3> HelloJeromeJson = << <<"{\"helloJerome\":\"">>/bits, HelloJeromeBin/bits, $\", $} >>. 
<<"{\"helloJerome\":\"Hello Jérôme\"}">> 

を:

jerome = JSON.parse('{\"hello\":\"Hello Jérôme\"}') 

今すぐ

jerome.hello == "Hello Jérôme" 

はそこにいくつかの良いlibにありますejsonまたはmochijson2は古典的なものですが、ktuoまたは...

2

.piqi(そのレコード定義言語)、JSON、XMLとの間でいるProtobuf広範囲マッピングメカニズムを提供piqiあります。これは本当にクールなツールです。私たちは、これらのすべてのフォーマット間を常にマッピングしています。 通常、何らかのデータを何かに提供する必要のあるもの(Erlangで)を構築するとき、構造を定義するpiqi定義ファイルから始めます。 piqicコンパイラはErlangレコード定義と変換コードを生成して変換を簡単に行います。

強くお勧めしますが、何をしているのか不安かもしれません。

関連する問題