C# string.Replace 用于删除 �?
C# string.Replace for removing �?
我正在使用下面的行将十六进制转换为 UTF8 字符串。
var obInstruction = Encoding.UTF8.GetString(ob.Bits);
在结果中,我在每个字符之间得到了�,如下图所示。
� 是什么?
所以我在行中添加了替换并将其更改为
var obInstruction = Encoding.UTF8.GetString(ob.Bits).Replace("�", "");
但 � 不会消失。
当我尝试替换其他字符时 Replace
工作正常但不适用于 �.
什么是 � 以及如何删除它?
在 Power 查询中,Text.Clean
会删除这些奇怪的字符,但我不确定在 C# 中该怎么做。
*编辑:为UTF32的结果添加了一张图片
使用 UTF32 的空框:
这应该可以完成工作:
var input = new byte[5];
var encoding = Encoding.GetEncoding(Encoding.ASCII.EncodingName,
new EncoderReplacementFallback(""),
new DecoderReplacementFallback(""));
var converted = Encoding.Convert(Encoding.UTF8, encoding, input);
var output = encoding.GetString(converted);
这将删除所有带有空字符串的非 ascii 字符
我正在使用下面的行将十六进制转换为 UTF8 字符串。
var obInstruction = Encoding.UTF8.GetString(ob.Bits);
在结果中,我在每个字符之间得到了�,如下图所示。 � 是什么?
所以我在行中添加了替换并将其更改为
var obInstruction = Encoding.UTF8.GetString(ob.Bits).Replace("�", "");
但 � 不会消失。
当我尝试替换其他字符时 Replace
工作正常但不适用于 �.
什么是 � 以及如何删除它?
在 Power 查询中,Text.Clean
会删除这些奇怪的字符,但我不确定在 C# 中该怎么做。
*编辑:为UTF32的结果添加了一张图片 使用 UTF32 的空框:
这应该可以完成工作:
var input = new byte[5];
var encoding = Encoding.GetEncoding(Encoding.ASCII.EncodingName,
new EncoderReplacementFallback(""),
new DecoderReplacementFallback(""));
var converted = Encoding.Convert(Encoding.UTF8, encoding, input);
var output = encoding.GetString(converted);
这将删除所有带有空字符串的非 ascii 字符