by 河川屋 » 2005年9月10日(土) 11:27
>SJIS専用の関数を実装するならどのように命名したほうがよいでしょうか?
>実装を予定している関数は
>Left$(),Right$(),Mid$(),TRim$,LRim()$,RRim$(),InStr()
あと1つ、Len()があります。
N88Basicには、KMID$,KLEN$,KINSTRという漢字を1字として数えるための関数があります。
というわけで、これも、N88BASIC非互換の1つです。
ただ、非互換について一応弁護しておくと、
N88BASIC(DiskBasic)の頃の漢字の扱いは、今のMIME上の取り扱いと似ていて、
"123漢字456"という文字は、
"123"+<KI>+"漢字"+<KO>+"456" ※漢字はJISコード
というように、全角半角切替えコードで切り替えていたため、
LEN("123漢字456")では10という値でなく切り替えコードを足した値
が返ってしまう、という決定的な不都合があったため、
・2バイト系文字操作命令が無いと漢字は事実上扱えなかった
という現実があったのですが、
SJISなら、切り替えコードに比べれば2バイト操作は無くても困らないです。
>SJIS専用の関数を実装するならどのように命名したほうがよいでしょうか?
>実装を予定している関数は
>Left$(),Right$(),Mid$(),TRim$,LRim()$,RRim$(),InStr()
あと1つ、Len()があります。
N88Basicには、KMID$,KLEN$,KINSTRという漢字を1字として数えるための関数があります。
というわけで、これも、N88BASIC非互換の1つです。
ただ、非互換について一応弁護しておくと、
N88BASIC(DiskBasic)の頃の漢字の扱いは、今のMIME上の取り扱いと似ていて、
"123漢字456"という文字は、
"123"+<KI>+"漢字"+<KO>+"456" ※漢字はJISコード
というように、全角半角切替えコードで切り替えていたため、
LEN("123漢字456")では10という値でなく切り替えコードを足した値
が返ってしまう、という決定的な不都合があったため、
・2バイト系文字操作命令が無いと漢字は事実上扱えなかった
という現実があったのですが、
SJISなら、切り替えコードに比べれば2バイト操作は無くても困らないです。