Re: FileRead系関数のUnicode対応について ( No.1 ) |
- 名前:通りすがり 日時:2016/09/17 19:07
.netの機能を使ってみては?
ttp://dobon.net/vb/dotnet/file/readfile.html
|
Re: FileRead系関数のUnicode対応について ( No.2 ) |
- 名前:初期状態 日時:2016/09/18 02:33
DXアーカイブ内のファイルを読み込むのに必要なのです
|
Re: FileRead系関数のUnicode対応について ( No.3 ) |
- 名前:takatwu 日時:2016/09/18 18:25
.NETの知見はありませんが読み込んだ文字列をデコードすれば良いのでは無いでしょうか。
ttp://dobon.net/vb/dotnet/string/getencoding.html
|
Re: FileRead系関数のUnicode対応について ( No.4 ) |
- 名前:管理人 日時:2016/09/19 12:22
Unicode のテキストファイルを読み込んでも文字化けしないようにしてみましたので、
よろしければこちらのバージョンをダウンロードしてください m(_ _)m
https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // .NET用
.NET でテキストファイルを読み込む、となると FileRead_gets しかありませんが、
FileRead_gets を使用されているという認識で問題ないでしょうか?
とりあえず、今回対応したのは FileRead_gets と FileRead_scanf のみで、
テキストファイルを先頭から読み込んだ場合、且つ BOM付きの Unicode 形式の
テキストファイルのみ自動判別して文字化けしないように読み込むようにしました
BOM無しの Unicode 形式のテキストファイルの場合は、新たに追加した
FileRead_set_format という関数でテキストファイルの形式を指定していただく必要があります
例えば UTF-8 形式のBOM無しテキストファイルを読み込む場合は、 FileRead_gets で読み込む前に
DX.FileRead_set_format(FHandle, DX.DX_CHARCODEFORMAT_UTF8);
という記述が必要です、Unicode( UTF-16 )の場合はリトルエンディアンかビッグエンディアンかによって
DX.FileRead_set_format(FHandle, DX.DX_CHARCODEFORMAT_UTF16LE); // リトルエンディアン
または
DX.FileRead_set_format(FHandle, DX.DX_CHARCODEFORMAT_UTF16BE); // ビッグエンディアン
を指定します
よろしければお試しください m(_ _)m
|
Re: FileRead系関数のUnicode対応について ( No.5 ) |
- 名前:初期状態 日時:2016/09/26 17:31
対応ありがとうございました
>FileRead_gets を使用されているという認識で問題ないでしょうか?
はい、getsを利用しております
>takatwuさん
そもそも文字化けをデコードできるということを知らなかったのですが、
自動で判別してくれないと不便なので、、、
|