よじすぎぷかぷかブログ

ゲーム開発 ドット絵

Unity,C#で文字化けさせる

using System;
using System.Text;

public class EncodeMozibake
{

	string mojibake(string s)
	{
		var data = Encoding.UTF8.GetBytes(s);
		var text = Encoding.GetEncoding("shift_jis").GetString(data);

		return text;
	}
}

2行で文字化け

まずGetBytesで文字列をバイト配列に変換します。

そして、GetEncodingでShift_JIS変換をかけると、文字化けします。

半角英数字は効果無いので気を付けてください。

 

あと、Encodingです。Encordingではないので。(これで10分くらい悩んだ)

 

関連記事

yojisugi.hatenablog.com

参考

string(文字列)からバイト型配列 byte[] (バイナリ) に変換する (C#プログラミング)

Encodingクラスで扱えるエンコーディング名は?[C#/VB]:.NET TIPS - @IT

C# 文字列とバイト配列の変換 Text.Encoding GetBytesとGetString - LemonteaのUnity部屋