質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

15203閲覧

文字列に含まれる半角と全角の数を分けてカウントしたい

isida

総合スコア11

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2016/07/19 07:36

###前提・実現したいこと
文字列に含まれる半角と全角の数を分けてカウントしたい

「123ABC」であれば
今は合わせて9バイトと表示されていますが

123は3バイト
ABCは6バイト
と表示したいです

よろしくお願いします

###該当のソースコード

using System;
public class VBStrings {

public static int LenB(string stTarget) { return System.Text.Encoding.GetEncoding("Shift_JIS").GetByteCount(stTarget); }

}

// 半角 1 バイト、全角 1 バイトでのバイト数を取得する int iByteCount = VBStrings.LenB("123ABC"); // 取得したバイト数を表示する MessageBox.Show(iByteCount.ToString()); //9

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

1byte文字が a個、2byte文字が b個 で構成された文字列は

文字列長 = a + b
バイト長 = a + 2b であるから:

b = バイト長 - 文字列長
a = 文字列長 - b

投稿2016/07/19 07:44

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

全角に変換したもののバイト数を取得して、増えた数が半角のバイト数です。

投稿2016/07/19 07:46

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

isida

2016/07/19 08:23

そういうことですか! 文字列の長さが必要だったんですね 全体のバイト数-文字列の長さで求まりそうです ありがとうございました。
退会済みユーザー

退会済みユーザー

2016/07/19 09:19

ベストアンサーはあちらでしょう…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問