请教一个 C++字符串转义问题

2018-09-12 14:52:59 +08:00
 pghxif

从文件读取一个含有转义 8 进制字符的字符串,比如 /027/034A/2651/000/276t,要把它转换为对应的二进制串,怎么操作呢?

我试了一下直接赋值 string a=“/027/034A/2651/000/276t ”,这样 a 里是存的对应的二进制字符,但是我是从文件里读到的这个转义字符串,不知道怎么操作了。

很小白的问题,用 google 不太会描述搜索关键词,所以来请教一下大家。

1288 次点击
所在节点    问与答
4 条回复
sbw
2018-09-12 15:12:23 +08:00
pghxif
2018-09-12 15:38:17 +08:00
@sbw 谢谢。
我看了你发的链接是关于转义的介绍。
我可能没有描述清楚问题,就是我现在有个 string 是类似”\027\034A\276t...“这样的长度有几千万的字符串,包括反斜杠都是字符串里的字符,请问我怎么把它转换为二进制串呢~谢谢
GeruzoniAnsasu
2018-09-12 15:57:09 +08:00
我猜意思是,把 escaped 表示的字符串 unescape 转义回二进制?比如"\\027"转回"\x17"?

印象中没有通用的一步到位的标准库,不过手动实现一个也不难
geelaw
2018-09-12 16:02:07 +08:00
用一个自动机完成。

读者习题:完成这个程序。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/488551

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX