令牌身份验证失败:“utf-8”编解码器无法解码位置 0 中的字节 0xe4:无效的继续字节
Posted
技术标签:
【中文标题】令牌身份验证失败:“utf-8”编解码器无法解码位置 0 中的字节 0xe4:无效的继续字节【英文标题】:Token authentication failed: 'utf-8' codec can't decode byte 0xe4 in position 0: invalid continuation byte 【发布时间】:2022-01-23 21:11:36 【问题描述】:我正在尝试将 json 数据从 azure ml 发送到 eventthub
import json
d = result.to_dict(orient='records')
data = json.dumps(d,ensure_ascii=False)
这是变量data-output的输出截图
import asyncio
from azure.eventhub.aio import EventHubProducerClient
from azure.eventhub import EventData
import time
conn_sting = "Endpoint=***"
async def run():
producer = EventHubProducerClient.from_connection_string(conn_str=conn_string)
async with producer:
# Create a batch.
event_data_batch = await producer.create_batch(partition_id='0')
event_data_batch.add(EventData(data))
# Send the batch of events to the event hub.
await producer.send_batch(event_data_batch)
nest_asyncio.apply()
loop = asyncio.get_event_loop()
loop.run_until_complete(run())
print("sent to eventhub")
并得到以下错误..
Token authentication failed: 'utf-8' codec can't decode byte 0xe4 in
position 0: invalid continuation byte
Token authentication failed: 'utf-8' codec can't decode byte 0xe4 in
position 0: invalid continuation byte
任何人都可以帮助调试错误? 谢谢
【问题讨论】:
【参考方案1】:异常是由你的数据字典的内容引起的,至少有一个键或值不是UTF-8
编码的。
您可以尝试使用其他编码类型,例如 "ISO-8859-1"
或 "unicode_escape"
。
您可以参考这些 SO 线程以获得更好的理解。
'utf8' codec can't decode byte 0xe4 ...: invalid continuation byte in timezone
"for line in..." results in UnicodeDecodeError: 'utf-8' codec can't decode byte
【讨论】:
以上是关于令牌身份验证失败:“utf-8”编解码器无法解码位置 0 中的字节 0xe4:无效的继续字节的主要内容,如果未能解决你的问题,请参考以下文章
创建 smtp() 时出现 Python smtplib 错误:“utf-8”编解码器无法解码字节
UnicodeDecodeError:“utf-8”编解码器无法解码位置 0 的字节 0xff
UnicodeDecodeError:“utf-8”编解码器无法解码位置 34 中的字节 0x85:无效的起始字节
UnicodeDecodeError:“utf-8”编解码器无法解码位置 35 中的字节 0x96:无效的起始字节