質問

ASCII 特殊文字 (例:ASCII 値 0x01) を文字列に変換しますか?

以下のものを使用しているので質問させていただきます。

str.Replace( "<TAG1>", Convert.ToChar(0x01).ToString() );

これよりも良い方法があるはずだと私は感じています。何か案は?

アップデート:

また、この方法を使用する場合、Unicode と ASCII の衝突について心配する必要はありますか?

役に立ちましたか?

解決

使えると信じています \uXXXX 指定したコードを文字列に挿入します。

到着予定時刻:テストしたところ、動作しました。:-)

using System;
class Uxxxx {
    public static void Main() {
        Console.WriteLine("\u20AC");
    }
}

他のヒント

また、この方法を使用する場合、Unicode と ASCII の衝突について心配する必要はありますか?

最初の問題は、タグが ASCII と競合することです。TAG10 に到達すると、0x0A と衝突します。改行。9 個を超えるタグを取得しないようにしておけば、安全です。Unicode エンコーディング (正確には:UTF8) は、バイト値が 0 ~ 127 の場合、ASCII エンコーディングと同じです。これらは、最上位ビットが設定されている場合にのみ異なります。

そして、私はこれよりも良い方法がなければならないと感じています。何か案は?

しようとしているように見えます テキストツールを使用してバイナリチャンクを操作する. 。バイトを挿入したい場合 0x01, たとえば、そのバイトが何であるかは気にしないので、もうテキストを操作することはありません。 かもしれない を表し、どのエンコーディングを出力するかさえ気にしていないようです。

より良い方法は、操作しているものをデータのバイナリ チャンクとして扱うことで、脆弱な回避策を使用したり副作用を心配したりすることなく、ビットやバイトを簡単に挿入できるようになります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top