今天同事遇到了很诡异的问题,就是从数据库中读取一个字段时,有些数据中,会多一个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(); }