Windows-1252の特殊文字を置き換える必要がある状況です。より多くの文字が後で追加される可能性があるので、このハードコーディングの代わりに一般的な方法が必要です。C#メソッドから '%xx'へのURLエンコード
private string URLEncode(string s)
{
s = s.Replace("ø", "%f8");
s = s.Replace("Ø", "%f8");
s = s.Replace("æ", "%e6");
s = s.Replace("Æ", "%e6");
s = s.Replace("å", "%e5");
s = s.Replace("Å", "%e5");
return s;
}
これは可能ですか?この '%f8'形式は何か分かりませんが、動作します。
このようなもの私は常にテーブル駆動型です。 1つのフィールドにすべてのOriginalCharsを置き、別のフィールドにReplacementCharsを入れて、テーブルをループするだけです。この方法で、後で他のペアを追加する必要がある場合は、コードに触れる必要はありません。 –
それは計画Bです。しかし、UTF-8文字をこの '%xx'形式に変換する方法が必要ですか? – capcapdk
次のコードを使用して文字列に変換し、winStr.SubString(0,1)を使用して個々の文字を取得することができます:byte [] input = {0xf8、0xe6、0xe5}; 文字列winStr = Encoding.GetEncoding(1256).GetString(入力); バイト[]出力= Encoding.GetEncoding(1256).GetBytes(winStr); – jdweng