utf16 vs utf-16

时间:2017-10-11 21:00:49

标签: python python-3.x character-encoding

下面哪行是正确的?我知道所有这些可用的编码吗?

with open(filename, 'w', encoding='utf16') as fp:
with open(filename, 'w', encoding='utf-16') as fp:

1 个答案:

答案 0 :(得分:3)

有趣的问题。我做了一些搜索,看起来你可以在这里找到所有可用的选项:https://docs.python.org/3/library/codecs.html#standard-encodings

所以在这种情况下,都不是!它应该是utf_16。尽管如此,根据我对python的经验,如果他们对您提供的arg进行消毒以使其无论如何都能正常工作,我也不会感到惊讶。从链接,它看起来像他们做!所以utf-16应该是有效的别名。

  

请注意,只有大小写或使用连字符而不是下划线的拼写替代方案也是有效的别名;因此,例如'utf-8'是'utf_8'编解码器的有效别名

编辑 - 这绝对是正确的链接。 open这是HttpContext.User = await _signInManager.CreateUserPrincipalAsync(user); 的文档,在这句话中链接到它

  

请参阅编解码器模块以获取支持的编码列表。