我有一个LogicApp,它可以读取电子邮件的附件。如果电子邮件包含vCard作为附件,它将读取vCard的内容。
例如,我在电子邮件中附加了以下vCard(用变音符号记下姓名):
BEGIN:VCARD
VERSION:2.1
N;LANGUAGE=de-ch;CHARSET=Windows-1252:Jürg;Kärner
FN;CHARSET=Windows-1252:Jürg Kärner
X-MS-OL-DEFAULT-POSTAL-ADDRESS:0
X-MS-OL-DESIGN;CHARSET=utf-8:<card xmlns="http://schemas.microsoft.com/office/outlook/12/electronicbusinesscards" ver="1.0" layout="left" bgcolor="ffffff"><img xmlns="" align="fit" area="16" use="cardpicture"/><fld xmlns="" prop="name" align="left" dir="ltr" style="b" color="000000" size="10"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/></card>
REV:20200904T145150Z
END:VCARD
因此,在阅读附件后,我得到以下信息:
如果注意到“内容字节”(vCard内容)是Base64编码的,这会导致变音符号出现另一个问题。例如,如果名称中包含变音符号,则无法对其进行解码。
我有一个步骤,将内容分配给特定的变量,如下所示:
之后,变量的内容如下:
BEGIN:VCARD
VERSION:2.1
N;LANGUAGE=de-ch;CHARSET=Windows-1252:J�rg;K�rner;;Dr.
FN;CHARSET=Windows-1252:Dr. J�rg;K�rner
X-MS-OL-DEFAULT-POSTAL-ADDRESS:0
X-MS-CARDPICTURE;TYPE=JPEG;ENCODING=BASE64:
/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAcFBQYFBAcGBQYIBwcIChELCgkJChUPEAwRGBUa
GRgVGBcbHichGx0lHRcYIi4iJSgpKywrGiAvMy8qMicqKyr/2wBDAQcICAoJChQLCxQqHBgc
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKir/wAAR
CACEAB8DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAA
....
....
....
....
REV:20200915T085951Z
END:VCARD
看来,Base64内容的解码是使用UTF-8进行的,因为如果我使用Windows-1252编码(使用任何一种工具)对内容进行解码,则变音符号将得到正确处理。
所以我的问题是:
有人在这里给我提些建议吗?