Comments (6)
すみません、わかってはいたのですが、あえて作り込んでいました。
ffftpはアップロードの際、一定のブロックサイズに分割し、ブロックごとに
- 漢字コード変換
- 改行コード変換
を行ってから送信します。
漢字コード変換は、マルチバイト文字がブロック境界に挟まれると正しく漢字を認識できないため絶対に文字化けします。
改行コード変換は、従来ブロック境界を考慮した変換がされていました。しかし、漢字コード変換でのブロック境界を無視した変換、それによる文字化けが受け入れられているのであれば、改行コード変換についても同様に文字化けしてもいいのではないかと考え、 v3.7でのリファクタリングの際に、ブロック境界を無視した変換に変更しました。
漢字コード変換と改行コード変換の両方を考慮してブロック境界をずらす処理を組み込みます。
from ffftp.
本件の発生条件:
- 漢字コード変換の文字化け: ~ v5.4
- 改行コードの不正: v3.7 ~ v5.4
v4.9系でも発生するが、対応はひとまず見送る。
from ffftp.
いつもお世話になっております。
バージョン 5.4 で問題が発生する(改行が挿入される)データを、バージョン 5.5 で転送してみました。
1250 行目あたりに挿入されていた改行は、挿入されなくなりました。
ただファイルの末尾(1343 行目あたり)に、他の部分が追加されてしまい、最終的には 2539 行になってしまいました。
以上、添付ファイルでご確認ください。
from ffftp.
添付ファイルです。
th_comp_sets_auto_d.ZIP
from ffftp.
ひとまずreopenします。確認後、新たなIssueに分離するかもしれません。
from ffftp.
新たに #344 が立てられたのでそちらで対応します。そのためこちらはcloseします。
from ffftp.
Related Issues (20)
- docディレクトリの整理 HOT 1
- ファイル一覧の表示に時間がかかる HOT 11
- 設定したサウンドが再生されない HOT 1
- コマンドラインでミラーリングが動作せず強制終了する HOT 2
- ファイルをアップロードすると、末尾におかしな文字が追加される HOT 3
- 接続直後に切断されてしまう HOT 7
- ダークモード化 HOT 3
- ミラーリングアップロードの「一覧から削除」が正常に動作しない HOT 2
- XPビルド失敗 HOT 2
- ファイルではなくディレクトリが作成される HOT 2
- 転送時にFFFTPがクラッシュすることがある HOT 2
- 特定のサーバーでファイル一覧の取得に失敗する HOT 4
- アップロード時に同名のファイルがある場合、「新しければ上書き」を指定し、「以降全て」ボタンをクリックしても転送されない場合がある
- 半角スペースのみのファイル名やフォルダ名が正しく表示されない HOT 1
- 接続ホストのヒストリ個数 HOT 1
- ホストの設定→文字コードで 推奨設定を作られたらいかがでしょうか? HOT 6
- 改行がファイルの0x8000区切りの位置を跨ぐとダウンロード時に改行がもう1個増えてしまう
- 接続直後にすぐ「接続できません」と出ます HOT 3
- IPv6が扱えないホスト上でAAAAレコードを引いてしまう HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ffftp.