掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
widestringについて (ID:6426)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 同じ6バイトになるとどういった場合にメリットがあるのでしょうか? WideStringでは、2バイトを1文字として扱います。 たとえば、 '日本語ABC' これの、2文字目は'本'ですし、5文字目は'B'です。 わざわざ、2バイト文字の場合に2バイトで1文字とカウントしなくてもよいというわけです。 Pos()+wideStringとは、Pos('/', W)のことですよね。 Pos('/', S)も正しい値を返していますよ。 厳密に言えば、AnsiPosも正しい値を返しています。T.Babaさんが期待している動作と、実際の動作が違うだけだと思います。 Pos('/', S)では、'abcあいう/'を、 #$61#$62#$63#$82#$A0#$82#$A2#$82#$A4#$2F#$00 と見ています。 ここの中で、[1]が#$61, [2]が#$62で、[10]が#$2F ('/')ですので、Pos('/'. S)は10を返します。 Pos('/', W)では、'abcあいう/'を、 #$0061 #$0062 #$0063 #$3042 #$3044 #$3046 #$002F #$0000 と見ています。 [1]が#$0061, [2]が#$0062で、[7]が#$002F('/')となり、Pos('/',W)では7を返します。 AnsiPosは、内部でAnsiStrPosの差を返しており、PCHARの差=バイト数となるため、WideString(Unicode)では意味のある数字ではなくなります。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.