首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Windows API ANSI函数和UTF-8

Windows API ANSI函数和UTF-8
EN

Stack Overflow用户
提问于 2012-01-12 14:47:22
回答 2查看 6.9K关注 0票数 23

是否可以将Windows API ANSI函数与UTF-8字符串一起使用?

例如,假设我有一个用UTF-8编码的路径。是否可以调用CreateDirectoryACreateFileA并使用UTF8路径,或者在调用函数之前必须执行一些转换?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-12 14:52:34

不是的。使用MultiByteToWideChar将UTF-8转换为UTF-16,然后调用CreateDirectoryWCreateFileW等宽字符API。

票数 17
EN

Stack Overflow用户

发布于 2021-09-14 16:29:26

接受的答案不再正确(自Windows版本1903 ( 2019年5月更新)起)。

应用程序现在可以将进程的活动代码页设置为UTF-8。这允许...A函数(和CP_ACP)使用UTF-8。这样做的清单如下所示

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
  <assemblyIdentity type="win32" name="..." version="6.0.0.0"/>
  <application>
    <windowsSettings>
      <activeCodePage xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings">UTF-8</activeCodePage>
    </windowsSettings>
  </application>
</assembly>

来源和更多信息:Use the Windows UTF-8 code page

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8831143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档