0
我试图从TCP套接字中检索一些数据并将其写出到文件中。用于文本输出的TCP套接字数据清理
我能够检索数据正常,但我需要“消毒它”。
我收到的数据包含控制代码以标记报告的开始以及每条记录之间。它似乎也有CRLF代码之间的NULL字符。
我的数据看起来像这样在编辑器(我已经屏蔽值):
#########- # L#########L ##############L LLLLLL LLLLLLLL #,###.## ##/##/## ##/##/## #
#########- # L#########L ##############L LLLL LL LLLLLLL ###,###.## ##/##/## ##/##/## ######
#########- # L#########L ##############L LLLLLLL ##,###.## ##/##/## ##/##/## ######
#########- # L#########L ##############L LLLLLL LLLLLLLL #,###.## ##/##/## ##/##/## ######
#########- # L#########L ##############L LLL LLLL LLLLLL LLLLL #,###.## ##/##/## ##/##/## ######
#########- # L#########L ##############L LLLLLLL LLLLLLL LLLLLL LLLLL #,###.## ##/##/## ##/##/## ######
#########- # L#########L ##############L LLLLLL LLLLL LLLLLL LLL #,###.## ##/##/## ##/##/## ######
*#########- # L#########L ##############L LLLLLL LLLLL LLLLLL LLL #,###.## ##/##/## ##/##/## ######
#########- # L#########L ##############L LLLLLLLLLLL LLLLLL LLLLL #,###.## ##/##/## ##/##/## ######
#########- # L#########L ##############L LLLLLL LLLLL LLLLLL LLL #,###.## ##/##/## ##/##/## ######
#########- # L#########L ##############L LLLL LLL LLLL ###.## ##/##/## ##/##/## ######
#########- # L#########L ##############L LLLLLLL L LLLLLL LLL ##,###.## ##/##/## ##/##/## ######
######-## L#########L ##############L LLLL LLLLLLLL ##,###.## ##/##/## ##/##/## ######
######-## L#########L ##############L LLLLL LLLLLLLLLL ##,###.## ##/##/## ##/##/## ######
######-## L#########L ##############L LLLL LLL ##,###.## ##/##/## ##/##/## ######
期待有一个额外的回车我无法摆脱的(末尾)这将是罚款,和行结尾是这样的十六进制编辑器
00 20 00 0D 00 0D 00 0A 00
这是我应得给我在哪里。
$new = $outputBuffer.Replace('[^\p{L}\p{Nd}]', '')
$str = $new.split("`n")
$myArray = @()
foreach ($line in $str) {
$item = $line.trim([char]0x0003,[char]0x0002,[char]0x0001,[char]0x0000)
if ($item -like "Out of*") {break}
if ($item -ne "") {
$myArray += $item
}
}
$myArray | Out-File test.aud
“Out of *”break是我终止循环的地方,因为这表示我关心的数据的结束。向数组中添加行时的“Trim”正在处理标记报告开始/结束的控制代码,但不包括NULL。
我已经尝试了几个小时的研究,无法找到一种方法来纠正这些行结束。
谢谢
如果您的数据不被屏蔽,这将更容易回答。有什么办法可以发布更有用的东西吗?理想情况下,有足够的数据可以测试您正在运行的代码。 –
我绝对会发布更好的例子,除了这是检查审计数据,因此敏感。我找到了解决方法,我也发布了。我确定有更好的方法.. – hallert
很高兴你能工作 –