栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何从strace输出解码此信息

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何从strace输出解码此信息

我对您的问题的理解是,您通过比较strace的输出尝试将auditd发送的内容与程序发送的内容进行比较,并且遇到将strace提供的字符串转换为Go []
byte数据类型的问题。

strace输出遵循字符串文字的GNU C表示形式,其字符可以按以下方式转义:

\ Backslash character. ? Question mark character.' Single quotation mark. " Double quotation mark. a Audible alert. b Backspace character. e <ESC> character. (This is a GNU extension.) f Form feed. n newline character. r Carriage return. t Horizontal tab. v Vertical tab.o, oo, ooo Octal number.xh, xhh, xhhh, ... Hexadecimal number.

请注意,八进制或十六进制数字的数量可以变化。在Go中,字符也可以转义,但是规则不同-
请参见http://golang.org/ref/spec#Rune_literals

特别是,八进制值系统地用3位数字表示,以避免任何歧义。要声明具有此类字符序列的[] byte,您将必须编写如下内容:

// In strace, it was "21350351t"wb := []byte("210000003500305000100000000000000t")

请注意,strace中的-
x选项将对不可打印的字符使用固定长度的十六进制编码,这使得在Go程序中直接使用这些字符串变得更加容易。-xx选项即使对于可打印字符也将输出十六进制编码的字节,这使IMO更加容易。

无论如何,使用文字字符串初始化[] byte不一定是一种好的样式(甚至不是一个好主意)。字符串适用于UTF-8字符,不适用于二进制数据。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/448186.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号