• 締切済み

漢字変換

SQL Serverよりテーブルデータをバックアップし、*.outファイルを作成します。 そのデータを再び取り込む時に、個人を特定できる氏名や住所等を全く別のものへ置き換えるプログラムを考えています。 ヒントとして漢字のShift→EUC等の変換を考えれば答えは見えてくると言われました。 例)武田仁志 → 佐々木案や佐々 木案など、名前として認識できなくても構わないです。 漢字を違う漢字へ置き換えるってイメージです。 作成する環境としてはWindows2000、VB6です。これだけでは何とも言えないかもしれませんが、何か良い案がある方はご教授願います。

みんなの回答

  • kasukon
  • ベストアンサー率0% (0/0)
回答No.2

私の使っているEUC→SJISの変換は↓こんな感じです。 どこかのホームページからコピーして使っています。 Private Sub EucToSJis(lngLen As Long, bytData() As Byte) Dim i As Long For i = 0 To lngLen - 1 Select Case True Case bytData(i) < &HA1 Case bytData(i + 1) < &HA1 Case Else If bytData(i) Mod 2 = 0 Then bytData(i + 1) = bytData(i + 1) - &H2 Else bytData(i + 1) = bytData(i + 1) - &H61 If bytData(i + 1) > &H7E Then bytData(i + 1) = bytData(i + 1) + 1 End If End If If bytData(i) < &HDF Then bytData(i) = bytData(i) + 1 bytData(i) = bytData(i) \ 2 bytData(i) = bytData(i) + &H30 Else bytData(i) = bytData(i) + 1 bytData(i) = bytData(i) \ 2 bytData(i) = bytData(i) + &H70 End If i = i + 1 End Select Next End Sub

参考URL:
http://tohoho.wakusei.ne.jp/wwwkanji.htm
penta4
質問者

補足

ソース公開ありがとうございます。 試しに使ってみた所、確かに違う文字には変換されたようなのですが、日本語として認識出来ないレベルの文字になってしまいます。そんなものなのでしょうか?

  • deecyan
  • ベストアンサー率38% (89/233)
回答No.1

要は ぱっと見て個人情報だって解らない様に でも元に戻せるようにすればいいのですよね 暗号化ソフトを使えば一番ですが、 それ以外の解決策としては 1バイト読んで その中のビット構成を変える 例えば  1ビット目は7ビット目に 2ビット目は4ビット目に.... これでぐちゃぐちゃになって読めないでしょう 元に戻す時はその反対にしたら元に戻ります

penta4
質問者

補足

早々の回答ありがとうございます。 今回作ったのをもっと広く使っていくつもりなので、テーブル項目もそのときに違ってくると思うので…。暗号化ソフトは今回は使えそうにありませんでした。 その話はひとまず置いておいて、ビット構成を変えるという事ですが、私まだVB初めて間もないので、出来れば簡単なプログラム例などをあげて頂けれると助かります。 それと、1ビット目を7ビット目等に変えると漢字はそのまま漢字として別の文字に入れ替える事になるのでしょうか? ちなみに、元に戻す必要はありません。

関連するQ&A

  • 文字変換。

    UNIXサーバより、FTPでファイルを所得し、 そのデータをEUCからシフト-JISへ変換するという処理を作成したいのですが、 Help等を見ても今一良く解かりませんので… 良いアドバイスがあったら御教授下さい。 その変換データなのですが、 数値と漢字を含む文字列が入り混じったものです。 開発環境 OS WinXP・Win2000 VB VB5.0(SP3) よろしくお願いします。

  • EUCコードをSHIFT-JISに変換したい

    宜しくお願いします。 VB2008で作成したテキストをHTMLで見たときに正常に見えるように変換がしたいのですが。 パソコン -> 繝代た繧ウ繝  化け文字です。 text1.tex にkey入力をした文字のみ化け文字です。 直接記述した文字は化けてはおりません。 多分、VB2008で作成したHTMLの漢字コードはEUCだとおもうのですが、HTMLファイルを作成して見ると文字化けをしています それでSHIFT-JISに変換を行いたいのですが、関数が分かりません。

  • エクセルのVBAで、複数ファイルの漢字コードを変換したあと各ファイルの一行目を取得したリストを作成したい

    500ファイルくらいある顧客データ(漢字コードEUC、テキストファイル)から、自動的にリストを作成したいのですが、漢字コードをEUC→S-jisに変換する方法がわかりません。 一行目の取得のためのモジュールは、こちらのサイトの別の方の質問に対する回答からヒントを得て成功したのですが…。 あと、ファイル名に拡張子をつけるという処理もVBAでできるなら教えてください。

  • 漢字コードについて

    漢字コードについて教えてください。 教えていただきたいのは、windowsでEUC-JPを使ってもいいのかということと、使ってもいいとしても何か制約とか問題が起きる事があるかどうかです。 お聞きしたい詳細は以下のとおりです。 現在は自分のホームページの更新の際に、ネットからデーターをダウンロードし、必要な情報を抜き出した上でデーター処理し、自分のホームページに載せています。 私のパソコンのOSはWIN XPですのでPERL はWINDOWS用のperlを使っています。PERLのプログラムはShift_JISで保存しています。 ダウンロードしてくるデーターはEUC-JPですので、いったんShift_JISに変換し、保存してあるPERLで処理しShift_JISとしてサーバーにアップロードしています。 この処理をもう少し簡単にするために、PERLのプログラム自体をEUC-JPで保存し、ダウンロードしたデーターをEUC-JPのまま処理、<META http-equiv="Content-Type" content="text/html; charset=EUC-JP"> としてサーバーにアップロードしたいと思っています。 自分の環境内では特に不具合はないようなのですが、何か問題になることはあるのでしょうか。よろしくお願いします。

    • ベストアンサー
    • Perl
  • EUCとSJISの変換文字列のレコードへの書込みについて

    WindowsのサーバーでデータベースはMySQLです。今回、Linuxのサーバーからもダイレクトにデータを取得(SQLのselect文)しWindowsのサーバーへデータの書込みを行ったりLinux側へデータ書込みを行うことになりました。 そこでEUC,SJISの文字列変換なのですが、レコードセットなどSelect文でEUCのデータを取得するとSQLでエラーになったり正常に値が取得できません。NKF32でテキストファイル間では変換できるのですが、直接テーブルからデータを取得しEUCまたはSJIS変換をおこないSQLで書込みを行うことはやはりVBでは無理なのでしょうか。ご経験又は知識 をお持ちの方ご教示板だければ幸いです。

  • likeとsubstrの使いわけについて

    現在、大量データを扱うマスタDB(oracle)に対し、オンライン業務にて曖昧検索を実施する機能を開発しています。 性能を十分に考慮したsqlを組む必要があり、以下のいづれを選択するか判断しかねています。 それぞれの意味合いを十分に理解できておらず申し訳ございませんが、どなたかご教示をお願いします。 ■要件  曖昧検索をして検索を行う。  例)漢字氏名が”林”で始まるお客様を一覧表示 ■実現するためのSQL文  案1)select~ where 漢字氏名 like ’林%’;   案2)select~ where substr(漢字氏名,0,2)=’林’;  ※漢字氏名の型はvarchar2です。 処理時間(oracleのコスト的には)どちらも変わりませんかね? 以上、宜しくお願いいたします

  • ORACLEでのSQLについて

    SQLについて教えてください。 今、VBからORACLEデータベースにSQLを投げる処理を作っているのですが、 一つわからないことがあります。 例えば、アクセスでは、クエリで新しいテーブルを作成するという考え方がありますが データベースがORACLEでも同じようなことができるのでしょうか? 別に新しいテーブルを作成することに執着するわけではなく、テーブルのデータを削除 してから、そのテーブルにSQLにて引っ張ってきたデータを入れる という ものでもいいと考えています。そのやり方でもかまいませんので教えてください。 宜しくお願いします。 Oracle8.1.6 vb6

  • VB2005 で encoding="Shift_JIS"や"EUC-JP"のXMLファイルを保存する方法

    VB2005, XML の初心者です。 VB2005で encoding="Shift_JIS" や "EUC-JP" のXMLデータをファイルに保存するにはどうすれば良いのでしょうか。 encoding="UTF-8"であれば、下記で保存できますが、="Shift_JIS" や "EUC-JP" になると保存でエラーになってしまいます。 下記ソースでは、strXMLには正しくXMLが入っていますが、saveするとエラーになり、ファイルの中身を確認すると、日本語の箇所で切れていました。 Public Client As TcpClient Dim stream As NetworkStream stream = Client.GetStream() Dim Data(10000) As Byte Dim len As Int16 = stream.Read(Data, 0, Data.Length) strXML = System.Text.Encoding.UTF8.GetString(Data, 0, len) MsxmlDoc = New MSXML2.DOMDocument Msxmldoc.Loadxml(strXML) MsxmlDoc.save ( "C:\XML.xml") 文字コードについても初心者ですので、ヒントになるようなことでも教えていただければ幸いです。 よろしくお願い致します。

    • ベストアンサー
    • XML
  • IBM漢字コードのSJIS変換方法

    こんにちは。 現在IBMホストのデータをFTPしてUNIX上にて使用しています。ファイルの内容はcsvファイルで、ある項目は英数字のみ、ある項目は漢字のみというような物です。 現在、英数字は上手くいってますが、漢字の部分が化けてしまっています。 今やっているやり方は、ホストのファイルをbinaryモードでFTPして、ddコマンドにてEBICDICコードをASCIIコードに変換します。しかし、漢字の部分が化けているという状況です。 IBMのホームページをみると、 「IBM漢字コードとシフトJISとの変換は、オペレーティング・システム標準の iconvコマンドとiconv()サブルーチンで可能ですので、こちらをご利用下さい。 」 と書いてありますが、まったく要領を得ません。 iconvをmanのコマンドで見ましたが、書いてある内容が理解できません。 どなたか同じような経験をしたかた、アドバイスをよろしくお願いします。 iconvのオプションはこう付ければ上手くいくとか、 変換表を自前で作成したなどなど、他にこんな方法があるなどヒントをいただけると助かります。

  • 「表」などの文字化け

    MySQLとPHPで携帯サイトを作成しています。 フォームから受け取ったデータに「表」の文字が入っていた場合、文字化けしてしまいます。 MySQLのバージョンは4.0.27 文字コードはEUC-JP固定で変更できません。 携帯サイトのため表示はShift-jisです。 mysql_query("SET NAMES sjis"); //フォームから受け取ったデータが「表示」 $str = "表示"; $sql="INSERT INTO DBNAME VALUES('$str')"; mysql_query($sql); としてそのデータを表示させた場合「表示」が侮ヲとなってしまいます。 ご教授お願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう