探検


秀丸エディタスレ Part48

2026/04/19(日) 15:10:33.83ID:zWrkDFYf0
こういうのは、いかに正規表現を使わないか
pythonも、極力正規表現を使わずに書けるようにできてる
使わないとどうしようもない局面もあるけど、最後の手段
2026/04/19(日) 15:32:10.57ID:aHERLOIb0
オッス俺perl
588名無しさん@お腹いっぱい。 (ワッチョイW 5a06-zKF6)
垢版 |
2026/04/19(日) 21:14:53.76ID:ECxjiJqy0
>>586
そういう発想はなかったのでなんだか新鮮、しばりゲームみたい。
2026/04/19(日) 21:16:00.89ID:n8eX26eV0
Delphiですがなにか?
2026/04/28(火) 05:50:58.52ID:edrI158N0
現在、PC内にある多数のtxtファイルが日本語(Shift-JIS)で保存されています。
これらを、顔文字なども正しく扱えるUnicode(UTF-8)に一括で変換したいと考えていますが、
1つずつファイルを開いて変換するのは現実的ではありません。

秀丸で、複数のtxtファイルをまとめてUTF-8に変換する方法はありますでしょうか?
可能であれば、簡単で安全な方法を教えてください。
2026/04/28(火) 07:40:29.46ID:syDMLN7z0
秀丸でやらない
592名無しさん@お腹いっぱい。 (ワッチョイW 3f06-XwXc)
垢版 |
2026/04/28(火) 08:19:06.25ID:m6EKJr+p0
秀丸マクロでやろうとするとちょっと面倒だけどrubyを使っていいなら簡単。
rubyをインストールして下のバッチファイルをダブルクリックすればバッチファイル以下のフォルダのテキストファイルをSJISからBOM付きUTF8に変換します。

REM UTF保存bat
REM UTF8で保存する
chcp 65001

ruby -x "%~f0"
pause
exit

#!ruby
#encoding: utf-8
Encoding.default_external = 'UTF-8'

Dir.glob('**/*.txt'){|f| #txtファイルを探す
s=open(f.encode(Encoding::UTF_8)).read
File.write(f+"~",s) #バックアップ
bom="\uFEFF" #BOM付き
File.write(f,bom+s.encode(Encoding::UTF_8,Encoding::SJIS))
}
593名無しさん@お腹いっぱい。 (ワッチョイW 7f2f-7D51)
垢版 |
2026/04/28(火) 08:39:34.30ID:67OxzEyV0
随分と前にディレクトリ以下一括で文字コード変換してくれるフリーソフトでやった記憶がある。
ソフト名も覚えていないけど、文字コード変換ソフトは何種類もあったから探してみたら?
594名無しさん@お腹いっぱい。 (ワッチョイW 3f06-XwXc)
垢版 |
2026/04/28(火) 09:22:37.12ID:m6EKJr+p0
なんかデジャブって思ったら既に>>453で同じこと書いてた
2026/04/28(火) 22:02:13.54ID:YXUKZaX40
>>590
秀丸じゃない方法がいいみたいですな~
iconvとかいうCLIのツールで一括処理いけるらしいですb
2026/04/28(火) 22:05:40.17ID:YXUKZaX40
サクラエディタやNotepad++なんかのGUIエディタでも一括はいけるらしいです
とりま秀丸に拘らない方がいいかと
2026/04/28(火) 22:09:39.50ID:WazNUfrA0
とりまとは
2026/04/28(火) 22:57:38.52ID:ygw5RkiG0
>>590
秀丸公式サイトのマクロライブラリにその手のマクロ登録されてるかもしれないけど、マクロでやりたくないのかな?
2026/04/29(水) 01:25:41.73ID:h5PkHmvu0
>>597
ねぎまは間に葱が挟まってるやつ
つまり、とりまは
600名無しさん@お腹いっぱい。 (ワッチョイW 3f06-XwXc)
垢版 |
2026/04/29(水) 07:31:56.29ID:EdLjIgXs0
面倒だから作らないけど秀丸マクロでもできると思う。
grepでテキストファイルを検索してファイル名取得、/hオプションで非表示で開いてsaveasでutfで保存。
2026/04/29(水) 07:41:00.82ID:yU4L7V550
99.9%は成功するんだけど、文字コードそのもののバグみたいなのでどうしても行き詰まる
元のSJISに"~"って書いてあったら何に変換するのが正解? とか

そういうのを細かく決めた個人用スクリプトを作らないと100%にはならない
2026/04/29(水) 08:06:45.30ID:QrsRyHDx0
>>597+599
とりまというのはとりあえずの省略形の単語だと思われる
というか今時は生成AIなどに聞くのもええよ?
2026/04/29(水) 08:08:16.63ID:QrsRyHDx0
>>601
これは本当に601さんが言う通りですね Sjisの場合はUTFにすると文字化けしてくる
文字が出てくる可能性がかなり高いと思いますb
なのでバックアップはかなり重要ですな
604名無しさん@お腹いっぱい。 (ワッチョイW 3f06-XwXc)
垢版 |
2026/04/29(水) 08:56:10.21ID:EdLjIgXs0
ちょっとよく分からない。sjisの文字はutf8ですべてカバーしてるのでは?
2026/04/29(水) 09:18:13.51ID:yU4L7V550
うちではむしろSJIS回帰している
ファイル名はSJISの方が何かと都合がいい
ファイルの中身は普通にutf8
606名無しさん@お腹いっぱい。 (ワッチョイW 3f06-XwXc)
垢版 |
2026/04/29(水) 09:31:56.16ID:EdLjIgXs0
青空文庫がsjisのテキストファイルで提供されててutfにはあるけどsjisにはない文字は[#「插」でつくりの縦棒が下に突き抜けている、第4水準2-13-28]とかいう形式で表示される。sjisやめてutfにすれば便利なのにって思うけどutfのテキストをsjisにするのは全く意味が分からない。
2026/04/29(水) 09:47:32.10ID:mo/Uve6B0
なるほど
608名無しさん@お腹いっぱい。 (ワッチョイW 3f06-XwXc)
垢版 |
2026/04/29(水) 09:56:33.96ID:EdLjIgXs0
分かった気がする。ファイル名にutfにはあるけどsjisにない文字を使うとbatファイルが上手く動作しない場合があるってことか。そういう場合はバッチファイルの頭に「chcp 65001」って呪文を唱えておけばたぶん桶。
2026/04/29(水) 10:01:01.83ID:yU4L7V550
SJISしか想定してない古いツールはいっぱいある
610名無しさん@お腹いっぱい。 (ワッチョイW 3f06-XwXc)
垢版 |
2026/04/29(水) 10:30:19.23ID:EdLjIgXs0
まあ「ひとりwiki」もeucベースでutfにしかない文字を使おうとすると保存できなかったりするので、そういうものだと思えば理解できました。
2026/04/29(水) 10:35:25.78ID:yU4L7V550
epwingがSJISと規定されてるのが痛い
ただでさえ死んでるのに余計に誰も使わない
2026/04/29(水) 15:57:56.75ID:ApOf0iZf0NIKU
>>609
また海外勢がガラパとかいってきそうだけどまーしゃーないw
ただSJISに依存しすぎるのも問題かもねb
2026/04/30(木) 09:57:40.34ID:CSWCUxd/0
>>592
お返事ありがとうございます。
こちら、rubyというプログラミングのソフトをインストールして実行ですね
プログラミングについては全く分からないので私には難しそうです
一応、テキストファイルのバックアップは取っておこうと思うのですが、
こちら、実行した瞬間に、CドライブやDドライブのPC内の全てのtxtファイルが
書き換わるのでしょうか?
2026/04/30(木) 10:02:27.01ID:CSWCUxd/0
>>598
マクロは登録して何回か使ったものはありますが、マクロの内容自体については全く分かりません
開いてないファイルにまで影響を及ぼせるようなマクロってあるんですかね?
https://hide.maruo.co.jp/lib/macro/index.html
こちらググった感じ、それらしいのは見当たりませんでした
615名無しさん@お腹いっぱい。 (ワッチョイW 3f06-XwXc)
垢版 |
2026/04/30(木) 10:20:49.76ID:2SVqb2AJ0
>>613
いちおう元のテキストファイルはhoge.txtをhoge.txt~にしてバックアップを取り、hoge.txtをsjisからbom付きutf8に変更するようにしています。動作確認用にフォルダを作って試してから実戦投入してみて下さい。
616名無しさん@お腹いっぱい。 (ワッチョイW 3f06-XwXc)
垢版 |
2026/04/30(木) 10:27:06.84ID:2SVqb2AJ0
>>614
>>600のような方法でできないことはないと思うけど他のツールを使ったほうが簡単で動作も早いので、秀丸マクロで作った方はいないと思います。
617名無しさん@お腹いっぱい。 (ワッチョイW 3f06-XwXc)
垢版 |
2026/04/30(木) 10:31:32.30ID:2SVqb2AJ0
>>615
二回連続でバッチファイルを実行すると元ファイルは壊れて、utf8のファイルがバックアップになってしまうので気をつけて。
618名無しさん@お腹いっぱい。 (ワッチョイW 3f06-XwXc)
垢版 |
2026/04/30(木) 10:40:50.36ID:2SVqb2AJ0
>>617
bom無しのutf8ファイルが欲しいとかバックアップをhoge.bakにしたいとか、ちょっと改造したい場合はchatgptにバッチファイルを全文貼り付けて質問すれば答えてもらえます、多分。
2026/04/30(木) 10:45:55.46ID:yJ9pbnVT0
>>614
探して見つけたのが、
秀まるおのホームページ(サイトー企画)-ファイル文字コード変換マクロ version 1.08
https://hide.maruo.co.jp/lib/macro/fcc108.html
とか
秀まるおのホームページ(サイトー企画)-ファイルエンコードバッチ変換
https://hide.maruo.co.jp/lib/macro/encode_change.html
だけど、やりたいのがこういうのじゃないのならあとは分からん
620名無しさん@お腹いっぱい。 (ワッチョイW 3f06-XwXc)
垢版 |
2026/04/30(木) 11:27:20.71ID:2SVqb2AJ0
>>619
試してみました。
どちらも基準となるファイルを開いたり入力することで、そこを基準に再帰的にフォルダを探して変換してくれる。
高機能で入力元と出力先のファイル形式をいろいろ指定できる。
utf8に変換したい場合はbom付きが選べないのは残念。
二十年以上前のマクロでいろいろ苦心されてる様子が伺われました。
2026/04/30(木) 15:59:43.15ID:5ImDRyyx0
bomはバイトオーダーを示すために入れるんだけど、
utf8はバイトオーダーの概念が無いので、
そんなものを入れるのが間違い
622名無しさん@お腹いっぱい。 (ワッチョイW 3f06-XwXc)
垢版 |
2026/04/30(木) 16:19:46.00ID:2SVqb2AJ0
本来は不要ですがutf8って明示したり文字化けを防ぐために入れておいた方が便利です。インターネットにテキストを置いてそのまま表示させる場合、bom付きでないと化けてしまう。逆にテキスト加工を行う場合などは邪魔になることがあるので除去してやらねばならず、ケースバイケースの使い分けが必要です。
2026/04/30(木) 16:33:25.55ID:5ImDRyyx0
っていうか癌なのはexcelだけで、
それ以外の世界はbom無しutf8で閉じていればいい
excelだけ特別ルール
2026/05/01(金) 15:02:54.79ID:MMGC1bW60
>>622
なんというか1つの要素の評価の2面性ですなー
外せばまたシステムにエラーが起きるとw
2026/05/01(金) 15:03:38.75ID:MMGC1bW60
>>623
そうなの?エビデンスほしいでしゅb
2026/05/05(火) 11:28:12.48ID:4CfC7sQI00505
Visual StudioもBOM付きのUTF-8がデフォルトだけど
2026/05/05(火) 12:21:09.24ID:JNvjFhEV00505
レアケースを探せば他にもあるだろう
何なら自作すれば言い張れる

でも普通の人でBOM付きがうざいのはexcelだけ
628名無しさん@お腹いっぱい。 (コードモW 4a06-rHPM)
垢版 |
2026/05/05(火) 17:17:42.20ID:sJyQ2NMJ00505
bom「私のために争わないで、もうこれ以上」
2026/05/05(火) 18:11:12.15ID:pwl5zgrF00505
>>626
ま~そこは国際規格(w)を推進したい層としてはUTF-8がいいんでしょ
’00年代以前の開発競争でUTF-8に自然淘汰されたのかも?シランケド
2026/05/05(火) 18:12:32.14ID:pwl5zgrF00505
ちなみに豆知識だけど日本語の文字が多い場合はUTF-16の方が表示効率がいいらしい
英語や昔のASCIIなどがあるとUTF-8の方が効率がいいんだと
2026/05/05(火) 19:32:39.39ID:JNvjFhEV00505
101971 1710406475-sjis.dat
132994 1710406475-utf8.dat
148400 1710406475-utf16.dat
このスレのdatデータのサイズ
sjisが正義
632名無しさん@お腹いっぱい。 (コードモW 4a06-rHPM)
垢版 |
2026/05/05(火) 19:42:43.89ID:sJyQ2NMJ00505
データ容量を考えて効率化されたsjisと世界中の文字を扱うなら容量が大きくなっても仕方ないよねって発想から生まれたutfを比較して容量が小さいからsjif勝利ってなにそれ、うける。sjisにない字を探すために連想配列作って取り込むとかいろいろ苦労してんだよ、ボケ、アホ、くたばれsjis。
2026/05/05(火) 19:49:21.39ID:JNvjFhEV00505
sjisデータだけどunicodeも書ける♡
2026/05/05(火) 19:52:46.53ID:JNvjFhEV00505
♡
こんな感じになるのでunicode部分だけ7byteかかるけど、
必要な部分だけ使ってsjisで足りる部分はsjisというのも合理的
635名無しさん@お腹いっぱい。 (コードモW 4a06-rHPM)
垢版 |
2026/05/05(火) 19:54:07.88ID:sJyQ2NMJ00505
bomの有無なんてどうでもいい、必要ならつけて必要ないなら除去すればいいだけの話。sjisがutfに勝るなんて思ってるやつは全部敵、こいつらがいるからutf化が進まずに理不尽な苦しみを押し付けられるんだ。くたばれsjis。なんて思ったんだけど>>633はどういう意味?
636名無しさん@お腹いっぱい。 (コードモW 4a06-rHPM)
垢版 |
2026/05/05(火) 20:02:03.01ID:sJyQ2NMJ00505
>>634
ユニコードは諦めて脳内補完ってこと?宮城谷昌光の三国志とかsjis以外は画像データで置き換えられてて読み上げさせるのにどれだけ苦労したと思ってんだ。こんな苦労もsjisが幅を効かせててそれにないなら画像データでいいよねなんて甘やかしてたせい。sjisに対する恨みは深い、くたばれsjis。
2026/05/05(火) 20:10:04.86ID:JNvjFhEV00505
過去の資産は変えられないので、いつまで待ってもsjisが消えることはない
これから新規で作るデータはutf8だけど、過去のsjisデータは永久につきまとう
2026/05/05(火) 20:23:50.95ID:V9dRq5JH00505
んーそこまでSJISに嫌悪感ないけど現在の国際化(w)の為にはUTF-8(7や16じゃない方)だろうな
UTF-8はWebや開発や色んなローカルアプリなどで使用シーンが多いらしいなー
SJISは国内の一部アプリや書籍なんかだとそうなるのか?
639名無しさん@お腹いっぱい。 (コードモW 4a06-rHPM)
垢版 |
2026/05/05(火) 20:39:36.77ID:sJyQ2NMJ00505
永久につきまとわれるのは仕方ない、でもそんな方々にこそ言いたい、utfにすればいろいろ幸せになれるよって。自国の言語だけじゃなく全国の人と同一文字コードでコミュニケーションがとれるのって素敵じゃない?
640名無しさん@お腹いっぱい。 (ワッチョイ af6f-3YUq)
垢版 |
2026/05/05(火) 22:41:05.94ID:U5/vUhjO0
☗7六歩 ☖8四歩 ☗6六歩 ☖6二銀
641名無しさん@お腹いっぱい。 (ワッチョイ af6f-KCzN)
垢版 |
2026/05/05(火) 22:42:05.87ID:U5/vUhjO0
将棋の棋譜で△▲でお茶を濁さずにすむ
2026/05/05(火) 23:03:47.87ID:JNvjFhEV0
1. 7六歩 8四歩 2. 6六歩 6二銀
のように書けば先手と後手の区別不要
643名無しさん@お腹いっぱい。 (ワッチョイW 4a06-rHPM)
垢版 |
2026/05/06(水) 12:59:33.34ID:s8F5Iaqf0
いってんななろくほ、はちじゅうよんほ
2026/05/06(水) 13:01:25.96ID:Z3qrLC6d0
BOMなしのテキストファイルは、中身をすべて調べないと
Shift-JISとUTF-8の判別ができないという仕様が面倒だとは思う
だからVisual Studioもデフォルトで付けてるんだろうし
2026/05/06(水) 13:08:54.04ID:fGsjJbH30
全て調べてasciiしか入ってなかった時の判定結果は
2026/05/06(水) 14:00:41.79ID:NmFr7xFN0
Shift-JIS
2026/05/06(水) 14:08:55.48ID:Z3qrLC6d0
>>645
秀丸エディタの場合は「エンコード1」の「新規作成やASCIIのとき」で設定するだろ
2026/05/13(水) 18:54:46.66ID:Cy5N2lmXM
JavaScriptで対応する()や{}を線引きする機能かプラグインあったら教えてください
強調表示やアウトラインは既に使ってます
649名無しさん@お腹いっぱい。 (ワッチョイW a306-VXnS)
垢版 |
2026/05/15(金) 05:46:13.98ID:kqPC++Ni0
//括弧確認.mac
#col[0] =0x6267F5;#col[1] =0x72F531;
#col[2] =0xFFCB1F;#col[3] =0x29FF77;
#col[4] =0xFF82E6;#col[5] =0x4080FF;
#col[6] =0xA8A8F9;#col[7] =0xFF80FF;
#col[8] =0xFF97B1;#col[9] =0x944DFF;
#col[10]=0xF9953E;#col[11]=0x957AFF;
#col[12]=0xFF9354;#col[13]=0x7AAFFF;
#col[14]=0xFFE645;#col[15]=0xC786F9;
#col[16]=0x71B33C;#col[17]=0x0045FF;
#col[18]=0xB48246;#col[19]=0xFF00FF;
#x0=x;#y0=y;#i=0;
disabledraw;escape;gofiletop;
while(1){
searchdown "[{(]",regular;#x1=x;#y1=y;
if(result==0){break};
beginsel;gokakko;right;
colormarker 0x000000, #col[#i%20], 11, 0;
escape;moveto #x1,#y1;#i=#i+1;
}
escape;moveto #x0,#y0;enabledraw;
endmacro;
650名無しさん@お腹いっぱい。 (ワッチョイ 7ae4-etCG)
垢版 |
2026/06/01(月) 21:41:24.27ID:OEm11dcg0
>>619
こちらのマクロを試してみました
Shift-JISからUTF-8に変換しますが、一つ問題が発生しまして、
一括変換するフォルダの中に、既にいくつかUTF-8に手動で変換させていたものがあります
そのファイルに当たると、UTF-8→UTF-8で変化がないはずなのに、
画像のエラーが発生してしまいます
tps://tadaup.jp/6CEoZn2r.jpg

変換前のファイルは全て、Shift-JISの前提だからかと思いますが、
既に目的のユニコードに変化しているテキストファイルは、変換から除外するとか
っていうのは出来ませんでしょうか?
2026/06/01(月) 22:17:54.28ID:wnob5D0T0
漢字コードは魔窟で、
それは時間が解決するようなものではない
最終的には個人の好みの問題に帰着する
652名無しさん@お腹いっぱい。 (ワッチョイW ba06-p0SN)
垢版 |
2026/06/02(火) 01:19:34.63ID:gKGBICkq0
>>650
これはちょっと無理筋な気がする。素直に元のsjisファイルを使うとかできないんでしょうか?
653名無しさん@お腹いっぱい。 (ワッチョイW ba06-p0SN)
垢版 |
2026/06/02(火) 02:24:08.46ID:gKGBICkq0
ごめん、遅ればせながら理解した。utfとsjisのファイルが混在してるフォルダでsjisファイルのみをutfに変換したいということか。それならいける、rubyでよければ。それほど難しくないんでChatgptにでも聞いてもらえれば教えてくれそう。
2026/06/02(火) 12:03:33.35ID:PIuSghja0
>>653
ありがとうございます。マクロは非常に便利だったのですが、ここらへんは融通が効かないようです
全部、sjisのファイルだったらよかったんですが、中途半端に手動でいくつか変えているものがありました。
それを分別するとなると時間がかかり、手作業でコードを替える作業とあまり変わらない労力になります
2026/06/02(火) 14:08:02.43ID:m0PrhXCN0
>>654
geminiにマクロ作ってもらったら?
バックアップ機能付きShift-JISのファイル「だけ」を狙い撃ちして UTF-8 に変換するマクロ作ってくれたよ(内容も動作確認もしてないけど)
2026/06/02(火) 17:40:06.73ID:zYW/Errl0
・対象の.txtファイルをBackUp取りマクロ回す
・マクロじゃなくPythonでやる
どちらにしろバックアップ取れない程ストレージに空きがない訳じゃないでしょ?
2026/06/02(火) 17:40:30.32ID:zYW/Errl0
1時間もかからず終わるはずですな~がんばb
658名無しさん@お腹いっぱい。 (ワッチョイW ba06-p0SN)
垢版 |
2026/06/03(水) 03:09:46.94ID:QruQo8cl0
rubyやpythonならChatgptに訊くとちゃんと動作するスクリプトを返してくれるけど秀丸マクロは嘘ばかりでオリジナル関数を使ってたりパラメータがでたらめだったりする。マクロを書くなら秀丸ホームページのサポートで試験的に運用されているAIチャットがお勧め。
659名無しさん@お腹いっぱい。 (ワッチョイW ba06-p0SN)
垢版 |
2026/06/03(水) 03:19:17.78ID:QruQo8cl0
geminiも試してみたけど秀丸マクロを書くには向いていない。ネット上に秀丸マクロのサンプルとか解説ページとか増えてAIが学習してくれればそのうち使い物になるかもしれないけど。
660名無しさん@お腹いっぱい。 (ワッチョイW ba06-p0SN)
垢版 |
2026/06/03(水) 03:24:11.44ID:QruQo8cl0
utfの頭にbomをつけておくと、bomがあるならutfと判別してsjisに変換しないなんてこともできて、こういう文字コードの判別が必要になる場面でも便利。
2026/06/03(水) 05:56:24.21ID:RiWJw9t00
生成AIなら公式にあるよ。
https://notebooklm.google.com/notebook/f0d50d0b-e2dd-4209-befc-98ae35d8d0b0
2026/06/03(水) 17:23:27.66ID:mA/iNhy50
>>658
秀丸マクロみたいなソフト独自言語?でも使ってそうな奴はまずMarkdown構文かなにかで
テンプレなりプリセット読み込ませてから欲しい情報書き込んでいけば学習するんじゃない?
有料版ならそのまま記憶させるのもいけそう?無料でもログインしてればいけるか?
レスを投稿する


ニューススポーツなんでも実況