16進数への文字列置換No.32549
はらぽん99 さん 13/08/22 17:07
 
はじめて投稿します。

Unicodeの文字コード値が書き込まれた日中混在のS-JISテキストファイルがありまし
て、これを文字列置換してUTF-8テキストファイルに書き出したいと思っています。

たとえば深センの場合、「土へんに川」の中文文字部分が

圳となっております。
これを \u5733 に置換してUTFで保存すると、「圳」

の文字で表示できるようになります。22323=0x5733

文字コードが沢山あるので、この&#.....;から\uXXXXへ、16進変換×置換を秀丸で簡
単にできる方法はないでしょうか?というのが質問になります。
よろしくお願いいたします。

[ ]
RE:32549 16進数への文字列置換No.32550
Iranoan さん 13/08/22 18:35
 
 はらぽん99 さん今日は、Iranoan です。
> 文字コードが沢山あるので、この&#.....;から\uXXXXへ、16進変換×置換を秀丸で簡
> 単にできる方法はないでしょうか?
 末尾の様なマクロを使えば。
//------------------------------------------------------------
setcompatiblemode 0x220F;
gofiletop;
searchdown "&#[0-9]{5,};", regular;//数字は5桁以上にしてるけど良いかな?
while( result ){
  $s = gettext( foundtopx, foundtopy, foundendx, foundendy, 1 );
  insert unichar( val( midstr( $s, 2, strlen( $s ) - 3 ) ) );
  finddown2;
}

[ ]
RE:32550 16進数への文字列置換No.32551
はらぽん99 さん 13/08/22 19:30
 
> はらぽん99 さん今日は、Iranoan です。
≪全文引用されていたのでコミュニテックス会議室システムが引用部分を省略処理し
ました。≫
>}

Iranoanさん、早速のコメント有難うございました。
こんな便利な関数=unicharがあったのに、まったくもって気づきませんでした。動作
確認しました。バッチリです有難うございました。

[ ]