(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