今天同事遇到了很诡异的问题,就是从数据库中读取一个字段时,有些数据中,会多一个0x17的控制字符。
暂时没太好的处理方法,自己写了个测试例子,仅供参考吧:
for java
public static void main(String[] args)
{
byte[] b= { 0x30, 0x30, 0x1f, 0x37, 0x39, 0x33, 0x39, 0x36, 0x34, 0x31 };
byte[] bt={0x1f};
String s1 = new String(b);
String st= new String(bt);
String s2 = s1.replace(st,"");
String s3 = s1.replace((char)0x1f,' ').replace(" ","");
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
}
for charp
static void Main(string[] args)
{
Byte[] b = { 0x30, 0x30, 0x1f, 0x37, 0x39, 0x33, 0x39, 0x36, 0x34, 0x31 };
Byte[] bt = {0x1f};
String s1 = System.Text.Encoding.Default.GetString(b);
String st = System.Text.Encoding.Default.GetString(bt);
String s2 = s1.Replace(st, "");
String s3 = s1.Replace((char) (0x1F), ' ').Replace(" ", "");
Console.WriteLine(s1);
Console.WriteLine(s2);
Console.WriteLine(s3);
Console.ReadLine();
}