コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【C#】Unicode 文字列から Shift-JIS 文字列に変換して返す拡張メソッド

ソースコード

using System.Text;

public static class StringExtensions
{
    public static string ToShiftJis( this string unicodeStrings )
    {
        var unicode = Encoding.Unicode;
        var unicodeByte = unicode.GetBytes( unicodeStrings );
        var s_jis = Encoding.GetEncoding( "shift_jis" );
        var s_jisByte = Encoding.Convert( unicode, s_jis, unicodeByte );
        var s_jisChars = new char[ s_jis.GetCharCount( s_jisByte, 0, s_jisByte.Length ) ];
        s_jis.GetChars( s_jisByte, 0, s_jisByte.Length, s_jisChars, 0 );
        return new string( s_jisChars );
    }
}

使い方

var name = "\u30d4\u30ab\u30c1\u30e5\u30a6";
Debug.Log( name.ToShiftJis() );

結果

ピカチュウ

参考サイト様

日々の開発でえた情報:Unicode文字列からShift-JIS文字列に変換する。 - livedoor Blog(ブログ)

関連記事