Azure 队列中的消息文本已编码,如何删除此编码?

Message Text in Azure Queue is encoded, how do I remove this encoding?

当我向队列添加内容时,messageText 被编码,我如何删除它以使其成为明文?

在此处查看队列中的消息文本

var queueClient = new QueueClient(ConnectionString, "paymentfiles2");
var r = await QueueClient.SendMessageAsync("Demo")

我在 .NET Standard 2.0 项目中使用 Azure.Storage.Queues,Version=12.4.2.0

默认情况下,QueueClient.SendMessageAsync 以 UTF8 编码发送文本。但是 Azure 门户将其假定为 Base64,这就是它显示为垃圾值的原因。但是,如果您使用 Storage Explorer,您可以选择如下所示的编码。

当我使用await QueueClient.SendMessageAsync("Demo")时:

但是 您确实可以选择像下面那样以 Base64 发送它,以便 Azure 门户正确显示它并保留与旧包 WindowsAzure.Storage 相同的行为。

所以当我使用下面的代码时,门户正确显示:

await QueueClient.SendMessageAsync(Convert.ToBase64String(Encoding.UTF8.GetBytes("Demo")))

根据 krishg 的回答...

使用该库和版本 (12.4.2),我可以添加 65,500 个字符串字符(注意所有字符 <= ASCII 127),如下所示:SendQueueMessage(new string('a', 65500))

SDK/library 将其转换为 UTF8 字节并存储(因此提到 ASCII 值)。

在 Azure 存储资源管理器中,如果每个字符都是有效的 base64 字符,并且消息长度可以被 4 整除,则消息显示在列表中,默认选择 base64 解码。

同样打开邮件时,首先选择Base64选项。正如 krishg 所述,您可以手动切换到 UTF8。