強火で進め

このブログではプログラム関連の記事を中心に書いてます。

PSS SDKでSJIS(Shift-JIS)などは使えない

PlayStation SuiteのフォーラムやTwitterで見かけて気になっていた文字コードSJIS(Shift-JIS)など日本語環境でよく出て来る文字コード使えないという話を自分でも試してみました。

結果はダメ。コードページの数字で指定しても、文字列で指定もエラー(CP932で指定してもダメ)となりました。

ソースコードを辿ってみるとUnicode近辺とASCIIくらいしか対応してないみたいですね。

 	if (codepage == 1200)
	{
		return Encoding.Unicode;
	}
	if (codepage == 1201)
	{
		return Encoding.BigEndianUnicode;
	}
	if (codepage == 12000)
	{
		return Encoding.UTF32;
	}
	if (codepage == 12001)
	{
		return Encoding.BigEndianUTF32;
	}
	if (codepage == 65000)
	{
		return Encoding.UTF7;
	}
	if (codepage == 65001)
	{
		return Encoding.UTF8;
	}
	if (codepage == 0)
	{
		return Encoding.Default;
	}
	if (codepage == 20127)
	{
		return Encoding.ASCII;
	}
	if (codepage == 28591)
	{
		return Encoding.ISOLatin1;
	}

念のためこんなコードでもテストしてみましたがやはりSJISなどは対応してないみたいでした。

		foreach (System.Text.EncodingInfo s in System.Text.Encoding.GetEncodings()) {
			try {
				Console.WriteLine(s.Name);
			}catch {
			}
		}

【結果】

utf-16
unicodeFFFE
utf-32
utf-32BE
us-ascii
iso-8859-1
utf-7
utf-8

これはブラウザ的なものを作る人は文字コード変換部分は自前で準備しないと行けないみたいですね。