(Python)如何将字节字符串转换为双引号的原始字符串
我将此字节表示为字符串:(Python)如何将字节字符串转换为双引号的原始字符串,python,escaping,character,Python,Escaping,Character,我将此字节表示为字符串: b'google-site-verification=pFgmIQ6qK3YjcRAAhsKiPzmEiOVcynQslFMEba5lXvs' 我想将其转换为如下所示的原始字符串: r'"google-site-verification=pFgmIQ6qK3YjcRAAhsKiPzmEiOVcynQslFMEba5lXvs" (打印时不显示“r”) 我用replace试过,但没办法让它工作。 也许有人能帮我 问候 编辑完整代码: def decode_txt_rda
b'google-site-verification=pFgmIQ6qK3YjcRAAhsKiPzmEiOVcynQslFMEba5lXvs'
我想将其转换为如下所示的原始字符串:
r'"google-site-verification=pFgmIQ6qK3YjcRAAhsKiPzmEiOVcynQslFMEba5lXvs"
(打印时不显示“r”)
我用replace试过,但没办法让它工作。
也许有人能帮我
问候
编辑完整代码:
def decode_txt_rdata(rdata, rdlen):
"""decode TXT RR rdata into a string of quoted text strings,
escaping any embedded double quotes"""
txtstrings = []
position = 0
while position < rdlen:
slen, = struct.unpack('B', rdata[position:position+1])
s = rdata[position+1:position+1+slen]
s = '"{}"'.format(s.replace(b'"', b'"').decode())
txtstrings.append(s)
position += 1 + slen
return ' '.join(txtstrings)
def decode_txt_rdata(rdata,rdlen):
“”“将TXT RR rdata解码为带引号的文本字符串,
转义任何嵌入的双引号“”
txtstrings=[]
位置=0
当位置
从第一个答案开始使用
假设
所期望的是:
r“谷歌网站验证=pFgmIQ6qK3YjcRAAhsKiPzmEiOVcynQslFMEba5lXvs”
NOT(无效):
r'“谷歌网站验证=pFgmIQ6qK3YjcRAAhsKiPzmEiOVcynQslFMEba5lXvs”
输出
Byte string
b'google-site-verification=pFgmIQ6qK3YjcRAAhsKiPzmEiOVcynQslFMEba5lXvs'
Decoded Byte string
google-site-verification=pFgmIQ6qK3YjcRAAhsKiPzmEiOVcynQslFMEba5lXvs
Is decoded == Desired
True
我想如果你有一个额外的单引号,即
r'
应该是r'
。无论如何,您可以使用decode函数,如在b'google-site-verification=pFgmIQ6qK3YjcRAAhsKiPzmEiOVcynQslFMEba5lXvs.decode(“utf-8”)
中所述,我使用s='{}'.format(s.replace(b'',b'').decode())
将其转换为字符串,但它不会忽略像\010这样的反斜杠字符并将其作为转义字符。当我使用decode('unicode-escape')时,原始字节字符串在反斜杠字符处也会发生变化。我不知道该怎么办…“google site verification=pFgmIQ6qK3YjcRAAhsKiPzmEiOVcynQslFMEba5lXvs”似乎不是一个有效的字符串。您是否尝试过b'google-site-verification=pfgmiqk3yjcraahskipzmeiovcynqslfmeba5lxvs'。解码((“utf-8”)
?如果是这样,结果是否与您想要的不同?它告诉我“str”对象没有属性“decode”
,当我在转换为字符串之前使用它时,我得到:google site verification=Y3DKKKKFU_H3cJ3l66OBt0QIUL3 Z6cXR0UxhulSdc28lY
仍然有换行符。。
Byte string
b'google-site-verification=pFgmIQ6qK3YjcRAAhsKiPzmEiOVcynQslFMEba5lXvs'
Decoded Byte string
google-site-verification=pFgmIQ6qK3YjcRAAhsKiPzmEiOVcynQslFMEba5lXvs
Is decoded == Desired
True