在C#中,您可以使用编码的DecoderFallback
/ EncoderFallback
来决定它的行为方式.您无法更改Encoding.ASCII
自身的回退,但可以克隆它,然后设置回退.这是一个例子:
using System;
using System.Text;
class Test
{
static void Main()
{
Encoding asciiClone = (Encoding) Encoding.ASCII.Clone();
asciiClone.DecoderFallback = new DecoderReplacementFallback("%");
asciiClone.EncoderFallback = new EncoderReplacementFallback("%");
byte[] bytes = { 65, 200, 66 };
string text = asciiClone.GetString(bytes);
Console.WriteLine(text); // Prints A%B
bytes = asciiClone.GetBytes("A\u00ffB");
Console.WriteLine(bytes[1]); // Prints 37
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1155 次 |
最近记录: |