[C#]文字列や数字を全角半角変換!バイト数のカウントの取り方についても

[C#]文字列や数字を全角半角変換!バイト数のカウントの取り方についても C#
広告

今回は文字列や数字の操作に関する重要なテクニックに焦点を当て、

全角半角変換とバイト数のカウントについて解説します。

これらのスキルは実用的で日常的に活用できるものですのでぜひマスターしておきましょう。

SPONSORLYNC

文字列の全角半角変換

文字列の全角半角変換は特に文字列の正規化やデータの整形において重要です。

以下は、C#での全角半角変換の基本的な手法です。

using System.Text;

class Program
{
    static void Main()
    {
        string inputText = "全角文字のtestです";
        string convertedText = ConvertToHalfWidth(inputText);

        Console.WriteLine($"変換前: {inputText}");
        Console.WriteLine($"変換後: {convertedText}");
    }

    static string ConvertToHalfWidth(string input)
    {
        return Encoding.ASCII.GetString(Encoding.GetEncoding("Cyrillic").GetBytes(input));
    }
}

この例ではASCIIエンコーディングを利用して文字列を半角に変換しています。

数字の全角半角変換

数字も同様に全角半角変換が可能です。以下は、数字の変換の例です。

class Program
{
    static void Main()
    {
        string inputNumber = "12345";
        string convertedNumber = ConvertToHalfWidth(inputNumber);

        Console.WriteLine($"変換前: {inputNumber}");
        Console.WriteLine($"変換後: {convertedNumber}");
    }

    static string ConvertToHalfWidth(string input)
    {
        return string.Join("", input.Select(c => char.GetNumericValue(c) >= 0 ? char.GetNumericValue(c).ToString() : c.ToString()));
    }
}

この例では、LINQを使用して数字の全角半角変換を行っています。

広告

バイト数のカウント

文字列のバイト数を正確に取得することは、データベースやネットワーク通信時に重要です。

以下は、C#でのバイト数のカウント方法です。

class Program
{
    static void Main()
    {
        string text = "こんにちは、Hello";

        Console.WriteLine($"文字列: {text}");
        Console.WriteLine($"バイト数: {GetByteCount(text)}");
    }

    static int GetByteCount(string input)
    {
        return Encoding.UTF8.GetByteCount(input);
    }
}

この例では、UTF-8エンコーディングを使用して文字列のバイト数を取得しています。

ガマくん
ガマくん

以下記事ではバイト数を指定して文字列を切り出しする方法を紹介しているよ

[C#]全角半角文字列をバイト数で切り出し!文字数取得についても
C#で文字列を扱う際に文字数やバイト数で特定の範囲を切り出す方法があります。この記事では全角と半角の文字を考慮して文字数やバイト数で文字列を切り出す方法について解説します。これにより文字列操作がより正確かつ柔軟に行えるようになります。
広告

まとめ

今回はC#で文字列や数字を取り扱う際の基本的なスキルに焦点を当て、全角半角変換とバイト数のカウントについて解説しました。

これらのスキルをマスターすることでより効果的にプログラミングを行えるようになります。

是非実際にコードを書きながら理解を深めてみてください。

C#
広告
タイトルとURLをコピーしました