在C#中与Python的decode(string-escape)等效的方法是什么?

3

假设我有一个Python函数,它接受一个字符串并返回其解码后的结果(使用'decode('string-escape')'函数):

def myFunc(s):
    return s.decode("string-escape")

在C#中是否有相应的方法?我尝试了一些方法,例如将字符串编码为UTF-8并将其存储在字节数组中,但似乎没有任何方法可以给我与Python完全相同的字符串。

编辑: Python示例:

>>> from base64 import b64encode     #import base64 encode
>>> s = "x\340s5g\272m\273\252\252\344\202\312\352\275\205" #original string
>>> decoded = s.decode("string-escape") 
>>> print decoded    #print decoded string
x?s5g?m?????꽅
>>> print b64encode(decoded)
eOBzNWe6bbuqquSCyuq9hQ==    #base 64 encoded version of the end result

假设在C#中有一个字符串s,如何获得相同的base64编码版本?

如果不清楚或需要更多信息,请告诉我。


有趣的问题 - 可能值得展示一下Python输出的内容,这样只了解C#的开发人员就会有更多的上下文信息。 - robjohncox
s.decode("string-escape") 应该生成一个适合作为 Python 源代码中字符串字面量的字符串。 - Ahmed KRAIEM
你想用C#对Python字符串文字进行反转义吗? - Matthew
我在Python和C#中有相同的起始字符串。我已经发布了我在Python中得到正确结果的方法,并想知道如何在C#中获得相同的结果。我不确定这是否是您要问的内容。 - vik
1
Base 64编码在C#中非常简单,但我认为没有内置的编码器可以解码Python的字符串转义格式。你需要自己编写这部分代码,然后使用Convert.ToBase64String来获取base64编码版本。 - RogerN
2
嗯...你知道有哪些资源可以帮助解码Python的字符串转义格式吗?从我的搜索中,我只能找到关于在字符串中使用转义字符的示例。 - vik
1个回答

1

看看这些方法是否有帮助

System.Text.ASCIIEncoding.ASCII.GetBytes()

System.Convert.ToBase64String()

Convert.FromBase64String()

或者您可能正在寻找的是:

https://dev59.com/smbWa4cB1Zd3GeqPV1uo

通常在字符串前面使用的@符号是C#所使用的符号。
如果您能澄清您的问题,将会很有帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接