我正在使用Microsoft的graph API来获取日历事件。
对于中文,事件的主题字段文本是胡说八道。
例如,“世界您好”变为“ 世界您好”
Microsoft的Graph API返回正确的数据。唯一的问题是我不知道每个事件的主题字段的编码。
答案 0 :(得分:0)
基于Mark Tolonen的回答,看来Microsoft Graph正在使用“ code page 1252”(美国Windows的默认设置)对日历事件进行编码。
使用他的答案,这给了我正确的事件主题字段。
public static string DecodeFromUtf8(this string utf8String)
{
byte[] bytes = Encoding.GetEncoding(1252).GetBytes(utf8String);
byte[] unicodeBytes = Encoding.Convert(Encoding.UTF8, Encoding.Unicode, bytes);
return Encoding.Unicode.GetString(unicodeBytes);
}