- ベストアンサー
VB6.0 特殊文字コードの変換
いつもお世話になっております。 前回、機種依存文字の変換について質問させて頂いた者です。 ㈱⇒(株) 等の&#number;型の文字コードの変換はchrw関数を用いる事で 無事に変換することが出来ました。 また新たに文字コードの変換について教えていただきたいのですが、 &⇒& などの&keyword;型の変換をするような関数など無いでしょうか? 関数だけでなく、こうすれば?っていうのもあれば教えて頂けると 幸いです。 以上です。よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
(1)参照設定で、"Microsoft HTML Object Library"をチェックする。 (2)以下のプログラムでデコード Function Decode(ByVal Text) As String Dim Doc As HTMLDocument Set Doc = New HTMLDocument Doc.body.innerHTML = Text Decode = Doc.body.innerText End Function (3)テストコード MsgBox Decode("<㈱&>")
その他の回答 (1)
- himajin100000
- ベストアンサー率54% (1660/3060)
あまり「特殊文字コード」とかいう名称好きじゃないんだよなー。 ============================= さておき、書くのが面倒なので概略だけ説明する。 '参照設定でMicrosoft XML,v6.0を追加しておく 'その関係で,実行環境にもコレが '幅広い環境に対応するために遅延バインディングしたい?嫌だ。 Option Explicit Sub Main() '何故か俺の環境ではMSXML2.DOMDocument60ではうまくいかなかった。 Dim xml As MSXML2.DOMDocument30 Dim inputStr As String Dim outputStr As String 'well-formedな場合にしか有効にならないので '一気に渡さない方がいいかも(well-formedであると断言できる範囲まで) 'HTMLが嫌いで,使っているのがXMLなので,定義されている文字実体参照は限られている。( や¢は定義されていません) '一応サンプルとして¢を定義してみた。 '実際にはentファイルを読み込むようなコードを書く事になるだろうが,文字列リテラルが長くなって見づらかったので回答では断念。(できるかどうか未検証) inputStr = "<!DOCTYPE x [<!ENTITY cent ""¢""><!ELEMENT x (#PCDATA)> ]><x>㈱あ&&¢</x>" Set xml = New MSXML2.DOMDocument30 xml.validateOnParse = True xml.resolveExternals = True xml.loadXML (inputStr) MsgBox (xml.Text) End Sub