-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
web.http でバイナリファイルを扱えるようにしてほしい #53
Comments
vimはそもそもバイナリを扱えない言語なので、直しても \x00 は保存出来ないと思いますよ。 |
中平さんがよくやる手として、数値(バイト値)の配列としてバイナリを扱う方法があり、それを使うと xxd (vimに付属のバイナリ操作ツール)と連携してバイナリの入出力は可能ではあります。 |
どちらが良いでしょう? (もしくは両方あったほうが良い?) |
やりたいことは web サーバにあるファイルをダウンロードしたい、なので 1 で十分です. 上記の説明していただいた内容 についてはよくわからないのですが, let b = readfile("/tmp/p1", "b") |
それはないと思いますよ。文字が0x00以外の時しか書き込み処理してないですから。もし書けてるとしたら、それは直さないといけないバグです。 https://code.google.com/p/vim/source/browse/src/eval.c#18873 |
あー、改行で置き換えてます? |
であれば行けるかもです。 |
何もしていません。 read した結果をそのまま write しただけで、 eval.c 見てみましたが、 |
@mattn |
とりあえず 1 で実装してみたいと思います。オプション名は深く考えずに |
|
最低限の動作テストはしたつもりですが、いかんせんテスト不足は否めないので、何か問題があったらいつでも報告待ってます。 |
対応ありがとうございます。 curl/wget ともに動作することを確認しました。 別件ですが、「バイナリファイルの送信」ができないことがわかりました。 |
私の勘違い/使用法間違いかもしれませんが,
curl/wget により得られた content を s:_readfile() 内で join しているため,
call writefile(filename, split(string_list, "\n"), "b")
としても \x00 を含むファイルの場合にデータが壊れてしまいます.
バイナリファイル用に join しないモードを追加していただきたいです.
The text was updated successfully, but these errors were encountered: