準備
(なし)
デザイン
- フォーム (Form1) にボタン (button1) を配置します。
- フォーム (Form1) にリストボックス (listBox1) を配置します。
サンプルコード (C#)
using System.Text;
namespace WinFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string s1 = "こんにちは and Hello";
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
Encoding Enc_sjis = Encoding.GetEncoding("Shift_Jis");
listBox1.Items.Add(Enc_sjis.GetByteCount(s1));
Encoding Enc_u8 = Encoding.GetEncoding("UTF-8");
listBox1.Items.Add(Enc_u8.GetByteCount(s1));
Encoding Enc_u16 = Encoding.GetEncoding("UTF-16");
listBox1.Items.Add(Enc_u16.GetByteCount(s1));
}
}
}
解説
同じ文字列を Shift_JIS、UTF-8、UTF-16 で表現した場合のバイト数を取得しています。Shift_JIS はひらがな 2 バイト、英字 1 バイトです。UTF-8 はひらがな 3 バイト、英字 1 バイトです。UTF-16 は一律 1 文字 2 バイトです。
結果
動作確認環境
Visual Studio 2022 Professional (.NET 7 C#11)
ログ
初版:2016.04.20 Visual Studio 2015 Professional (C# 6.0)
