@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

C# 文字列操作

1
投稿者投稿内容
Dr’アライ
会議室デビュー日: 2003/08/07
投稿数: 19
投稿日時: 2004-02-20 15:22
いつもお世話になっています。
さっそくですが質問です。

"abcあいう"という文字列が存在した場合、バイト数を指定してその文字が何文字目か
を判断する方法はないでしょうか?


"abcあいう" //全9バイト

2バイトを指定すると "b"なので "b"は2文字目なので →2
6バイトを指定すると "い"なので "い"は5文字目なので →5

上記のようにバイト数の位置の文字が何文字目かを算出したいのですが、
なにか良い方法はないでしょうか?
ご教授の程よろしくお願い致します。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2004-02-20 15:34
NAL-6295です。

過去ログですが・・・
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=8700&forum=7

を参照されると良いでしょう。

ちなみに、過去ログの検索、会議室ディレクトリあたりは見ておくといいと思います。

#検索の仕方が分からない若しくは、検索の意味がわからないという事であれば、
#別ですが・・・
Dr’アライ
会議室デビュー日: 2003/08/07
投稿数: 19
投稿日時: 2004-02-20 17:36
NAL-6295さん 返信ありがとうございます。
確かに以下のスレッドを拝見すると、強引ではありますが何文字目かの位置の取得が
可能なことがわかりました。
ありがとうございます。
しかし、贅沢を言うようですがもっとシンプルに取得する方法はないのでしょうか?
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2004-02-20 17:43
引用:


"abcあいう"という文字列が存在した場合、バイト数を指定してその文字が何文字目か
を判断する方法はないでしょうか?


"abcあいう" //全9バイト

2バイトを指定すると "b"なので "b"は2文字目なので →2
6バイトを指定すると "い"なので "い"は5文字目なので →5




NAL-6295です。

そもそも、内部的には上記の例だと全部で12バイトになります。

何故か・・・

文字コードがUnicodeだからです。

で、多分、例はShift-JISでの話をされているのだと思います。

そこで

先ほどのレスで示したスレッドが有効になってくるわけです。

以上、よろしくお願いします。
Dr’アライ
会議室デビュー日: 2003/08/07
投稿数: 19
投稿日時: 2004-02-20 19:28
NAL-6295さん 
細かな点まで丁寧にご教授いただきありがとうございます。
Byteを扱う場合、文字コードにも気をつけなくていけませんね!
勉強になります(>_<)
1

スキルアップ/キャリアアップ(JOB@IT)