这是我的问题。
我使用servlet从后台系统导入数据并将数据保存到我的SQL Server。在数据中有EOT字符(传输结束)。
当我在我的sql server管理工作室中查看记录时,我看到如下图所示:
当我在Notepad ++中复制/粘贴文本时,我得到了这个:
我很清楚,在我的数据库中,我有EOT字符。
如何在前端替换此字符以显示<br/>
?
我尝试str.replace("\0","<br/>")
提到here,但没有运气。
有没有人有线索?
答案 0 :(得分:5)
答案是使用.replace("\4", "<br/>")
,其中4
之后的\
是ASCII表格中EOT的十进制值
Oct Dec Hex Char Oct Dec Hex Char
------------------------------------------------------------------------
000 0 00 NUL '\0' 100 64 40 @
001 1 01 SOH (start of heading) 101 65 41 A
002 2 02 STX (start of text) 102 66 42 B
003 3 03 ETX (end of text) 103 67 43 C
004 4 04 EOT (end of transmission) 104 68 44 D
005 5 05 ENQ (enquiry) 105 69 45 E
006 6 06 ACK (acknowledge) 106 70 46 F
007 7 07 BEL '\a' (bell) 107 71 47 G
010 8 08 BS '\b' (backspace) 110 72 48 H
011 9 09 HT '\t' (horizontal tab) 111 73 49 I
012 10 0A LF '\n' (new line) 112 74 4A J
013 11 0B VT '\v' (vertical tab) 113 75 4B K
014 12 0C FF '\f' (form feed) 114 76 4C L
015 13 0D CR '\r' (carriage ret) 115 77 4D M
016 14 0E SO (shift out) 116 78 4E N
017 15 0F SI (shift in) 117 79 4F O
020 16 10 DLE (data link escape) 120 80 50 P
答案 1 :(得分:1)
我可以通过几种方式来做到这一点。蛮力方法是创建一个方法来消毒你得到的字符串;也许通过将字符串转换为一组字符,您扫描以删除此字符以及您不想要的任何其他字符,并返回一个新的字符串。
不看,我假设有些库可以用来清理字符串。我假设Guava和Apache Java库具有可以以这种方式清理字符串的方法。
问题是知道是否以及何时可以将此字符串本质上视为一系列字节,何时不能。我可能会找到一个十六进制编辑器甚至POSIX [<Literal>]
let len = arr.Length
命令来查看您正在清理的数据的实际字节。