[前][次][番号順一覧][スレッド一覧]

mysql:3163

From: Yoshiyuki Asano <Yoshiyuki Asano <asano@xxxxxxxxxx>>
Date: Tue, 06 Feb 2001 12:56:13 +0900
Subject: [mysql 03163] Re: バイナリーデータの扱いについて

ども、浅野@DB4級です


>私の場合は、バイナリデータを処理していますので、2バイト
>文字をエスケープ処理しているのではありません。エスケープ
>処理を行った為に、2バイト文字として認識されているのだと
>思います。(指摘された動作の逆の事になるのかな?)

バイナリも文字列も関係ありませんよ。
文字列も中身はバイナリですから、扱い方は同じです。
ようは、バイナリデータの中に0x5Cなどが入っていると、
エスケープ文字として処理してしまい、データの内容が
変わってしまうということです。

エスケープの処理は単純で、文字列(バイナリデータでも)
の先頭から1バイトづつ検索してエスケープ文字があれば
\を追加するといったものです。

バイナリデータにこれを行うと、もしデータの途中で
0x00が存在したら、そこで終了してしまうと思います。

ですので、引数でデータバッファのポインタとデータのサイズを
受け取り、2バイト文字の一部になっているエスケープ文字以外
に処理をするといったルーチンを自作されるのがいいと思います。

バイナリのデータだからといって、結局あつかうのは文字列
ですので、上記のような処理が必ず必要になってきます。

バイナリファイルをテキストエディタで見ると出てくる文字、
あれで処理してるということです。ですので、データの構造で
2バイト文字が出てくる可能性も当然あるし、それがエスケープ
を含む2バイト文字も当然あります。

でもMySQLをSJISで使用しているのであれば、2バイト文字に
エスケープ処理をしてしまうとエラーになります。

ですので、半角の部分だけエスケープするルーチンが必要に
なってきます。


EUCで使っていれば問題ないんでしょうが...


等幅フォントで見てね(^_-)-☆
-------------------------------------------------
         ___                 RX-7 GF-FD3S
   _____/__λ\Д             Yoshiyuki Asano
  (_◎┌(_ノ_◎ノ ==)) ==))   GF_FD3S@xxxxxxxxxx
-------------------------------------------------


[前][次][番号順一覧][スレッド一覧]

      3156 2001-02-05 16:31 ["Mitsuru Maruno" <ma] バイナリーデータの扱いについて          
      3158 2001-02-05 23:19 ┣[Toshihiro Fujimori <]                                       
      3160 2001-02-06 10:26 ┃┗["Mitsuru Maruno" <ma]                                     
      3161 2001-02-06 10:43 ┃ ┗[Yoshiyuki Asano <asa]                                   
      3162 2001-02-06 11:06 ┃  ┗["Mitsuru Maruno" <ma]                                 
->    3163 2001-02-06 12:56 ┃   ┗[Yoshiyuki Asano <asa]                               
      3164 2001-02-06 13:24 ┃    ┣[Yoshiyuki Asano <asa]                             
      3165 2001-02-06 13:32 ┃    ┗["Mitsuru Maruno" <ma]                             
      3166 2001-02-06 14:07 ┃     ┗[Yoshiyuki Asano <asa]                           
      3168 2001-02-06 14:30 ┃      ┣["Mitsuru Maruno" <ma]                         
      3169 2001-02-06 14:52 ┃      ┗[Akihiko Shinohara <s]                         
      3170 2001-02-06 15:09 ┃       ┣[Yoshiyuki Asano <asa]                       
      3171 2001-02-06 15:11 ┃       ┗["Mitsuru Maruno" <ma]                       
      3172 2001-02-06 17:02 ┃        ┗[Tomohiro KATO <tomop]                     
      3173 2001-02-06 17:19 ┃         ┗["Mitsuru Maruno" <ma]                   
      3174 2001-02-06 17:28 ┃          ┣[Tomohiro KATO <tomop]                 
      3182 2001-02-07 10:11 ┃          ┃┗["Mitsuru Maruno" <ma]               
      3175 2001-02-06 17:29 ┃          ┗["Mitsuru Maruno" <ma]                 
      3179 2001-02-06 23:45 ┃           ┗[Toshihiro Fujimori <]               
      3180 2001-02-07 00:41 ┃            ┣[Toshihiro Fujimori <]             
      3183 2001-02-07 10:30 ┃            ┗["Mitsuru Maruno" <ma]             
      3184 2001-02-07 10:50 ┃             ┗[Akihiko Shinohara <s]           
      3185 2001-02-07 11:13 ┃              ┗["Mitsuru Maruno" <ma]         
      3186 2001-02-07 12:11 ┃               ┗["Mitsuru Maruno" <ma]       
      3187 2001-02-07 12:57 ┃                ┣[楠吉彦  <moredebu@xx]     
      3188 2001-02-07 15:29 ┃                ┣[Akihiko Shinohara <s]     
      3189 2001-02-07 15:35 ┃                ┃┗[Akihiko Shinohara <s]   
      3190 2001-02-07 16:02 ┃                ┃ ┗["Mitsuru Maruno" <ma] 
      3191 2001-02-07 18:18 ┃                ┃  ┗[Akihiko Shinohara <s]   
      3192 2001-02-07 21:46 ┃                ┗[Toshihiro Fujimori <]     
      3195 2001-02-08 01:16 ┃                 ┗[とみたまさひろ <tomm]   
      3177 2001-02-06 23:05 ┗[Tomohiro Takahashi <]