首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Linux Vim 編寫 Python 腳本:coding 聲明指定源文件編碼

     編輯:程式設計疑難解答

現象

Vim 編寫 print("中文") 運行報編碼錯誤,加上 # -*- coding:utf-8 -*- 即正常。

原理

  • Python 2 默認 ASCII 編碼,源文件含非 ASCII 字符需聲明編碼。
  • # -*- coding:utf-8 -*- 雖是註釋,但 Python 解釋器專門解析首兩行匹配 coding[:=]\s*([-\w.]+) 正則,提取編碼信息。
  • 這是約定俗成的擴展機制:不影響語法兼容性(舊版本忽略),賦予編碼聲明能力。

同類機制

  • HTML: <meta charset="utf-8">
  • XML: <?xml version="1.0" encoding="UTF-8"?>
  • C/C++: #pragma execution_character_set("utf-8") (MSVC)
  • Shebang: #!/usr/bin/env python3 指定解釋器

Python 3

默認 UTF-8,通常無需聲明,但保留聲明無害且利於跨版本兼容。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved