gpt4 book ai didi

c# - 正则表达式从给定字符串中提取编码类型

转载 作者:太空宇宙 更新时间:2023-11-03 11:01:29 25 4
gpt4 key购买 nike

跟随 recent thread在 stackoverflow 中,我发布了一个新问题:我有几个字符串,我想从中提取编码类型。我愿意使用正则表达式来做到这一点:

例子:

utf-8 quoted printable
string str = "=?utf-8?Q?=48=69=67=68=2d=45=6e=64=2d=44=65=73=69=67=6e=65=72=2d=57=61=74=63=68=2d=52=65=70=6c=69=63=61=73=2d=53=61=76=65=2d=54=48=4f=55=53=41=4e=44=53=2d=32=30=31=32=2d=4d=6f=64=65=6c=73?=";

utf-8 Base 64
string fld4 = "=?utf-8?B?VmFsw6lyaWUgTWVqc25lcm93c2tp?= <Valerie.renamed@company.com>";

Windows 1258 Base 64
string msg2= "=?windows-1258?B?UkU6IFRyIDogUGxhbiBkZSBjb250aW51aXTpIGQnYWN0aXZpdOkgZGVz?= =?windows-1258?B?IHNlcnZldXJzIFdlYiBHb1ZveWFnZXN=?=";

iso-8859-1 Quoted printable
string fld2 = "=?iso-8859-1?Q?Fr=E9d=E9ric_Germain?= <Frederic.Germain@company.com>";

等...

为了编写一个通用的解码函数,我们需要提取:

  • 字符集(utf-8、Windows1258 等...)

  • transfert 编码类型(引用可打印或 base 64)

  • 编码后的字符串

知道如何提取 ?xxx?Q 之间的模式吗?或?xxx?B?

注意:可以是大写也可以是小写

谢谢。

最佳答案

Here is a Rubular那会为你做的。简而言之,此正则表达式 =\?(.*?)\?[QBqb] 将获取该编码。但需要注意的一件事是,在获取结果时,您给出的第三个示例中有两个匹配项,因此请确保您决定要对第二个匹配项执行的操作。

关于c# - 正则表达式从给定字符串中提取编码类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17580278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com