tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルエクスポートしたレジストリファイルのオープン
記事No13953
投稿日: 2009/08/18(Tue) 01:46
投稿者みなな
いつもお世話になっております。

レジストリエディタからエクスポートした.regファイルを
Openのバイナリモードで読み込んだのですが、文字化けしてしまいました。

.regファイルを文字化けせず読み込む方法を教えて下さい。
行数は20万行ほどあります。
よろしくお願い致します。

[ツリー表示へ]
タイトルRe: エクスポートしたレジストリファイルのオープン
記事No13955
投稿日: 2009/08/18(Tue) 09:35
投稿者魔界の仮面弁士
> レジストリエディタからエクスポートした.regファイルを
> Openのバイナリモードで読み込んだのですが、文字化けしてしまいました。
バイナリに、文字化けも何も無いと思いますけれども。。。
読み込んだバイナリは、どのようにして文字列化されたのでしょうか?

> .regファイルを文字化けせず読み込む方法を教えて下さい。
Unicode 版の reg ファイルですか?
Shift_JIS 版の reg ファイルですか?

[ツリー表示へ]
タイトルRe^2: エクスポートしたレジストリファイルのオープン
記事No13957
投稿日: 2009/08/18(Tue) 10:57
投稿者みなな
文字コードを調べたら Unicode でした。

試したコードはこんな感じです。
    Open パス For Binary As #No
    Get #No, , bytArray
    strText=StrConv(bytArray, vbUnicode)

ADODB.Streamの.ReadTextも使ったりしたのですが、
その場合は少ない行数の場合は読み込めるのですが、
20万行のファイルとなると応答が無くなってしまいました

良い方法はありませんでしょうか?よろしくお願い致します。

[ツリー表示へ]
タイトルRe^3: エクスポートしたレジストリファイルのオープン
記事No13958
投稿日: 2009/08/18(Tue) 11:16
投稿者魔界の仮面弁士
> 文字コードを調べたら Unicode でした。
であれば何故、
>     strText=StrConv(bytArray, vbUnicode)
にて、「Shift_JISバイナリを Unicode バイナリに変換するための処理」を
行っているのでしょうか?

元が Unicode (UTF-16) であるならば、文字コードの変換は必要ないですよね。
先頭に BOM が含まれているなら、それを取り除く必要はあるかも知れませんけれども。

[ツリー表示へ]
タイトルRe^4: エクスポートしたレジストリファイルのオープン
記事No13959
投稿日: 2009/08/18(Tue) 11:40
投稿者みなな
そのままでよかったのですね。。
ご迷惑をおかけしました。
BOMも頭になかったので助かりました。
本当にありがとうございます!

[ツリー表示へ]