秀丸エディタでCRコードが変換される。No.03963
ブラボー さん 99/09/06 10:11
 
秀丸エディタでCRコード(ASCIIで0D)が記載されている
テキストファイルを開くとCR LF(ASCIIで0D 0A)に
変換されます。
変換されない設定方法がありましたら教えてください。
なお、Windows95の「メモ帳」で開くと変換されずに
そのまま内容は保持されます。

[ ]
RE:03963 秀丸エディタでCRコードが変換さNo.03971
ブラボー さん 99/09/06 16:07
 
>秀丸エディタでCRコード(ASCIIで0D)が記載されている
>テキストファイルを開くとCR LF(ASCIIで0D 0A)に
>変換されます。
>変換されない設定方法がありましたら教えてください。
>なお、Windows95の「メモ帳」で開くと変換されずに
>そのまま内容は保持されます。

上記は私にとって大問題です。
上記が解決しなければ
せっかくライセンス料を支払った秀丸エディタが
使用不能ということになります。

[ ]
RE:03971 秀丸エディタでCRコードが変換さNo.03972
番頭++ さん 99/09/06 16:56
 
>>変換されない設定方法がありましたら教えてください。

「名前を付けて保存」の「文字コード」明示的に指定するとどうなりますか ?

[ ]
RE:03972 秀丸エディタでCRコードが変換さNo.03974
ブラボー さん 99/09/06 17:39
 
>>>変換されない設定方法がありましたら教えてください。
>
>「名前を付けて保存」の「文字コード」明示的に指定するとどうなりますか ?
番頭++さん返答ありがとうございます。

「名前を付けて保存」の「文字コード」明示的に指定では、目的は果たせません。

秀丸エディタでファイルを開いたときすでに、CRがCR LFに変換されてしまいます。

「名前を付けて保存」の「文字コード」明示的に指定ではCR LFも

CRまたはLFの一方に統一されてしまいます。

私がやりたいのは、CRはCRのまま保存され(CR LFに変換されない)

CR LF(改行)はCR LFのまま保存されることです。

[ ]
RE:03974 秀丸エディタでCRコードが変換さNo.03976
番頭++ さん 99/09/06 17:57
 
こんなマクロで、いつ CR/LF になるのか試してください。
一度は、明示的に CR でセーブしてください。
開いたとき、編集中、セーブしたあと ?

これ以下のコードで、a1.mac のファイルを作成して、
秀丸のディレクトリにおいて、「マクロの実行」で起動できます。

// 現在のファイルの「文字コード」と「改行コード」を表示するマクロ。
    $wk1 = "現在のファイルの「文字コード」と「改行コード」\n\n";
    call pk_conv_bin_hex1 charset;
    $wk1 = $wk1 + "charset ( hex. string ) : " + $$return + "\n";
    call pk_conv_bin_bit1 charset;
    $wk1 = $wk1 + "charset ( bits string ) : " + $$return + "\n\n";
    $tbl_1[0] = "新規作成直後 Shift-JIS";
    $tbl_1[1] = "Shift-JIS";
    $tbl_1[2] = "Unicode";
    $tbl_1[3] = "EUC";
    $tbl_1[4] = "JIS";
    #i = charset;
    #j = #i & 0x3F;
    $wk1 =  $wk1 + "文字コード: " + $tbl_1[#j];
    if( #i != 00 ){
        $tbl_2[0] = "CR/LF";
        $tbl_2[1] = "LF";
        $tbl_2[2] = "CR";
        #j = ( #i / 0x40 ) % 3;
        $wk1 = $wk1 + "\n改行コード: " + $tbl_2[#j];
    }
    message $wk1;
endmacro;

pk_conv_bin_bit1:
    ##k = ##1 % 256;    $$wk1 = "";
    ##j = 0x80;
    while( ##j ){
        $$wk1 = $$wk1 + str( ##k & ##j != 0 );
        $$wk1 = $$wk1 + leftstr("\x20",(##j==0x10));
        ##j = ##j / 2;
    }
return $$wk1;
//*6MICRO_END

//*6MICRO   pk_conv_bin_hex1
//*6_Desc.  convert binary to hex. text string  Ver. 02.00A
//*6    call pk_conv_bin_hex1 arg_n1;
//*6    arg_n1 : binary //  ##1
//*6    $$return : hex. text string, minus - FFxxxxxx (8)
//*6    global area : N/A
endmacroall;
pk_conv_bin_hex1:
    $$tbl_hex = "0123456789ABCDEF";
    $$wk1 = ""; ##k = ##1;  ##m = ##1;
    if( ##k == 00 ){    return "00";    }   //  zero
    if( ##k < 00 ){ ##k = 256*256*256*256 + ##k;    }   //  minus
    while( ##k != 0 ){
        ##i = ##k%256;  ##k = ##k/256;  ##j = ##i%16;   ##i = ##i/16;
        $$wk1 = midstr($$tbl_hex,##i,1) + midstr($$tbl_hex,##j,1) + $$wk1;
    }
//  if( ##m < 00 && leftstr($$wk1,2) != "FF" && strlen($$wk1) < 8 ){
//      $$wk1 = "FF" + $$wk1;   //  minus FFxx
//  }
    if( ##m < 00 ){
        $$wk1 = rightstr("FFFFFF"+$$wk1,8); //  minus FFxx (8)
    }
return $$wk1;
//*6MICRO_END

[ ]
RE:03976 秀丸エディタでCRコードが変換さNo.03977
ブラボー さん 99/09/06 18:08
 
>こんなマクロで、いつ CR/LF になるのか試してください。
>一度は、明示的に CR でセーブしてください。
>開いたとき、編集中、セーブしたあと ?
>
>これ以下のコードで、a1.mac のファイルを作成して、
>秀丸のディレクトリにおいて、「マクロの実行」で起動できます。

すんまへんが「マクロの実行方法」がわかりません。
(マクロに関して初心者なもので)
秀丸エディタに「マクロの登録」をすればいいのですか?
やり方がよくわかりません。手順概要を教えてください。
HELPも見ずにすんまへん。m(_ _)m

>
>// 現在のファイルの「文字コード」と「改行コード」を表示するマクロ。
>    $wk1 = "現在のファイルの「文字コード」と「改行コード」\n\n";
>    call pk_conv_bin_hex1 charset;
>    $wk1 = $wk1 + "charset ( hex. string ) : " + $$return + "\n";
>    call pk_conv_bin_bit1 charset;
>    $wk1 = $wk1 + "charset ( bits string ) : " + $$return + "\n\n";
>    $tbl_1[0] = "新規作成直後 Shift-JIS";
>    $tbl_1[1] = "Shift-JIS";
>    $tbl_1[2] = "Unicode";
>    $tbl_1[3] = "EUC";
>    $tbl_1[4] = "JIS";
>    #i = charset;
>    #j = #i & 0x3F;
>    $wk1 =  $wk1 + "文字コード: " + $tbl_1[#j];
>    if( #i != 00 ){
>        $tbl_2[0] = "CR/LF";
>        $tbl_2[1] = "LF";
>        $tbl_2[2] = "CR";
>        #j = ( #i / 0x40 ) % 3;
>        $wk1 = $wk1 + "\n改行コード: " + $tbl_2[#j];
>    }
>    message $wk1;
>endmacro;
>
>pk_conv_bin_bit1:
>    ##k = ##1 % 256;    $$wk1 = "";
>    ##j = 0x80;
>    while( ##j ){
>        $$wk1 = $$wk1 + str( ##k & ##j != 0 );
>        $$wk1 = $$wk1 + leftstr("\x20",(##j==0x10));
>        ##j = ##j / 2;
>    }
>return $$wk1;
>//*6MICRO_END
>
>//*6MICRO   pk_conv_bin_hex1
>//*6_Desc.  convert binary to hex. text string  Ver. 02.00A
>//*6    call pk_conv_bin_hex1 arg_n1;
>//*6    arg_n1 : binary //  ##1
>//*6    $$return : hex. text string, minus - FFxxxxxx (8)
>//*6    global area : N/A
>endmacroall;
>pk_conv_bin_hex1:
>    $$tbl_hex = "0123456789ABCDEF";
>    $$wk1 = ""; ##k = ##1;  ##m = ##1;
>    if( ##k == 00 ){    return "00";    }   //  zero
>    if( ##k < 00 ){ ##k = 256*256*256*256 + ##k;    }   //  minus
>    while( ##k != 0 ){
>        ##i = ##k%256;  ##k = ##k/256;  ##j = ##i%16;   ##i = ##i/16;
>        $$wk1 = midstr($$tbl_hex,##i,1) + midstr($$tbl_hex,##j,1) + $$wk1;
>    }
>//  if( ##m < 00 && leftstr($$wk1,2) != "FF" && strlen($$wk1) < 8 ){
>//      $$wk1 = "FF" + $$wk1;   //  minus FFxx
>//  }
>    if( ##m < 00 ){
>        $$wk1 = rightstr("FFFFFF"+$$wk1,8); //  minus FFxx (8)
>    }
>return $$wk1;
>//*6MICRO_END

[ ]
RE:03977 秀丸エディタでCRコードが変換さNo.03978
番頭++ さん 99/09/06 18:22
 
RE:03976 をブラウザで見て、マウスで選択して、Ctrl+C コピー
秀丸を新規にひらいて、Ctrl+V ペースト

//--------- これ以下
// 現在のファイルの「文字コード」と「改行コード」を表示するマクロ。
...
//*6MICRO_END
//--------- これ以上のデータを残す

a1.mac でセーブする、a1.mac ファイルを C:\Program Files\Hidemaru に移動

「マクロ」「マクロの実行」をえらんで、a1 と入力します。

今日は 19:00 位で帰ります。

[ ]
RE:03977 秀丸エディタでCRコードが変換さNo.03981
秀丸担当 さん 99/09/06 18:38
 
秀丸の文字コードは、CR+LF か LF か CR かのいずれかに統一して
保存されてしまう仕様です。
CRはCRのままで、CR+LFはCR+LFのままにするようにはできません。

[ ]
RE:03981 秀丸エディタでCRコードが変換さNo.03982
番頭++ さん 99/09/06 18:50
 
>秀丸の文字コードは、CR+LF か LF か CR かのいずれかに統一して
>保存されてしまう仕様です。
>CRはCRのままで、CR+LFはCR+LFのままにするようにはできません。

そう言う要望ですか ?
行単位に改行コードを保存したい ?
勘違いしてすんません、またハズシタ ...

[ ]
RE:03981 秀丸エディタでCRコードが変換さNo.03990
ブラボー さん 99/09/07 19:58
 
>秀丸の文字コードは、CR+LF か LF か CR かのいずれかに統一して
>保存されてしまう仕様です。
>CRはCRのままで、CR+LFはCR+LFのままにするようにはできません。

これでは、秀丸エディタが使えません。

現在Perlのソースリストの中の行末以外にCRコードが入っていて
秀丸エディタで開くとCRがCR+LFに変換されてしまいます。

どうしてこのような仕様になっているのですか?

時期バージョンでCRはCRのままで、CR+LFはCR+LFのままに
することはできませんか?

おこがましい質問ですがPerlでCRコードを&H何とかと
表現することは可能でしょうか?
→Yahooの掲示板でも聞いてみます。m(_ _)m


[ ]
RE:03990 秀丸エディタでCRコードが変換さNo.03991
番頭++ さん 99/09/07 20:11
 
>現在Perlのソースリストの中の行末以外にCRコードが入っていて
>秀丸エディタで開くとCRがCR+LFに変換されてしまいます。

やっと理由がわかりました、秀丸は現在はバイナリ編集の機能はありません。

>おこがましい質問ですがPerlでCRコードを&H何とかと
>表現することは可能でしょうか?

perl 数値リテラルの表記ですよね、
0x0d とか -0xff でいけると思います。Ox.. 0X.. です 。。。

[ ]
RE:03991 秀丸エディタでCRコードが変換さNo.03992
番頭++ さん 99/09/07 20:24
 
>>おこがましい質問ですがPerlでCRコードを&H何とかと
>>表現することは可能でしょうか?
>
>perl 数値リテラルの表記ですよね、
>0x0d とか -0xff でいけると思います。Ox.. 0X.. です 。。。

シングルクォートも同じだと思いますが、ダブルクォートの中の文字列では、
逆スラッシュ、\x.. のエスケープだと思います。マイナスは出来るかな ???

[ ]
RE:03990 秀丸エディタでCRコードが変換さNo.03993
Kaisan さん 99/09/07 20:28
 
> おこがましい質問ですがPerlでCRコードを&H何とかと
> 表現することは可能でしょうか?

エスケープシーケンスが使えます。

    \n    改行(LF)
    \r    リターン(CR)

[ ]
RE:03993 秀丸エディタでCRコードが変換さNo.03994
ブラボー さん 99/09/07 20:38
 
>> おこがましい質問ですがPerlでCRコードを&H何とかと
>> 表現することは可能でしょうか?
>
>エスケープシーケンスが使えます。
>
>    \n    改行(LF)
>    \r    リターン(CR)

できましたぁー(T_T)

ありがとうございました。m(_ _)m

($cgidir,$b) = split(/\r/,$cgidir);  #\r:CR

[ ]
RE:03994 秀丸エディタでCRコードが変換さNo.03995
番頭++ さん 99/09/07 20:54
 
>ありがとうございました。m(_ _)m

それって、「ブラボー」とゆうんですよね、疲れた ...

[ ]
RE:03995 秀丸エディタでCRコードが変換さNo.04009
きいろいまふらあ さん 99/09/09 01:21
 
どーでもよいですが、

> それって、「ブラボー」とゆうんですよね、疲れた ...

bravo って喝采の言葉ですよね。(^^;

[ ]
RE:04009 秀丸エディタでCRコードが変換さNo.04012
番頭++ さん 99/09/09 17:46
 
>bravo って喝采の言葉ですよね。(^^;

昨日はフォローして頂いてどうもです。外出していたのですが、お昼過ぎに、パ
ソコンの日付が 97/01/01 なっているのに気づき、「 PC の電源が ON になった
ときに、誰かが 97/01/01 00:00 にリセットした」としか思えない現象なんです。
「対岸の火事」にまで、気が回らなかった状態でした。


[ ]