常见开发语言在 Windows 上的默认编码格式

常见开发语言在 Windows 上的默认编码格式:

|------------------|----------------------------------------------|------------------------------------------------------------|
| 编程语言 | 默认编码格式 | 说明 |
| C/C++ (MSVC) | GBK / ANSI | Windows 多字节字符集(本地化),中文系统通常为 GBK |
| C# (.NET) | UTF-16 (内部) 文件默认为 ANSI 或 UTF-8(BOM) | 控制台输出默认使用系统活动代码页(中文 Windows 是 936,即 GBK) |
| Java | GBK | Windows 中文系统默认使用 GBK,可通过 -Dfile.encoding=UTF-8 指定为 UTF-8 |
| Python 3 | UTF-8 (推荐) 但控制台输入输出可能为 GBK | Windows 控制台默认使用系统代码页(中文为 GBK),可通过 chcp 65001 切换为 UTF-8 |
| Node.js | UTF-8 | 内部字符串为 UTF-16,文件和网络传输默认使用 UTF-8 |
| Go | UTF-8 | 所有字符串默认为 UTF-8,控制台输出会根据系统环境自动转换 |
| PowerShell | UTF-16 LE (输出) 脚本文件默认为 ANSI 或 UTF-8(BOM) | 使用 chcp 65001 可切换为 UTF-8 模式 |
| 批处理(.bat) | OEM 代码页(如 437 或 936) | 中文系统下默认为 GBK(代码页 936) |
| PHP | 默认无编码处理 | 字符串是字节流,输出编码取决于手动设置(如 header 或 mb_* 函数) |

📌 建议:

  • 统一使用 UTF-8 是避免乱码问题的最佳实践。
  • 在 Windows 上开发跨平台项目时,建议显式指定编码格式,例如:
    • Python:open("file.txt", encoding="utf-8")
    • Java:启动时加上 -Dfile.encoding=UTF-8
    • C#:使用 Encoding.UTF8 显式处理字符串和文件
相关推荐
炘爚27 分钟前
C++ 右值引用与程序优化
开发语言·c++
si莉亚43 分钟前
ROS2安装EVO工具包
linux·开发语言·c++·开源
清心歌1 小时前
CopyOnWriteArrayList 实现原理
java·开发语言
良木生香1 小时前
【C++初阶】C++入门相关知识(2):输入输出 & 缺省参数 & 函数重载
开发语言·c++
忘梓.1 小时前
墨色规则与血色节点:C++红黑树设计与实现探秘
java·开发语言·c++
hhh3u3u3u1 小时前
Visual C++ 6.0中文版安装包下载教程及win11安装教程
java·c语言·开发语言·c++·python·c#·vc-1
星河耀银海1 小时前
C++ 模板进阶:特化、萃取与可变参数模板
java·开发语言·c++
cccccc语言我来了1 小时前
【C++---unordered_set/map底层封装】个不拘一格的集合。它不似有序集合那般循规蹈矩,而是以一种洒脱不羁的方式,将元素们随意地散落其中。每一个元素都是独一无二的。
开发语言·c++·哈希算法
Zfox_1 小时前
C++ IO流全解析:标准库中的数据处理与文件读写艺术
开发语言·c++
加号31 小时前
【C#】实现沃德普线光控制器通信控制(附完整源码)
开发语言·c#