读取编码为utf-16le的文件并打印

本文介绍如何使用Python的codecs模块处理UTF-16编码的文本文件,包括读取文件内容、跳过BOM头以及使用不同方式解码UTF-16编码文本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import codecs

data = open('test.txt').read()
if data[:2] == codecs.BOM_UTF16_LE:
    data = data[2:]
    print data.decode('utf-16le')

或者:
data = codecs.open('test.txt', 'r', 'utf-16le').read()

if data[0] == codecs.BOM_UTF16_LE.decode('utf-16le'):

    data = data[1:]
   
print data

转载于:https://www.cnblogs.com/nokia/p/3420355.html

### 将UTF-16LE编码的文本转换为UTF-8编码 为了实现从UTF-16LEUTF-8的转换,可以采用多种编程语言和工具来完成这一操作。以下是几种常见方法: #### 使用Python进行转换 Python提供了强大的内置函数用于处理不同类型的字符编码。通过`open()`函数指定源文件编码格式以及目标文件所需的编码格式即可轻松完成转换。 ```python with open('source_file.txt', 'r', encoding='utf-16le') as f_in, \ open('output_file.txt', 'w', encoding='utf-8') as f_out: content = f_in.read() f_out.write(content) ``` 这段代码读取了一个名为`source_file.txt`的UTF-16LE编码文件,并将其内容写入一个新的UTF-8编码文件`output_file.txt`中[^2]。 #### 利用iconv命令行工具 对于熟悉Linux或类Unix系统的用户来说,`iconv`是一个非常实用的命令行工具,专门用来解决各种字符集之间的转换问题。下面是一条简单的指令,能够把输入流中的UTF-16LE数据转码成UTF-8并输出至标准输出设备或者保存到新创建的目标文件里。 ```bash iconv -f utf-16le -t utf-8 source_file.txt > output_file.txt ``` 此命令将`source_file.txt`的内容由UTF-16LE转换为UTF-8后重定向存储于`output_file.txt`内[^5]。 #### PowerShell脚本方式 如果是在Windows环境下工作,则可以通过编写PowerShell脚本来达到相同的效果。考虑到默认情况下PowerShell可能不会按照预期的方式处理某些特殊字符,在执行之前建议先调整好环境变量以确保正确的编码行为。 ```powershell $PSDefaultParameterValues['Out-File:Encoding'] = 'utf8' Get-Content .\source_file.txt | Set-Content -Path .\output_file.txt -NoNewline ``` 上述脚本同样实现了将本地磁盘上的UTF-16LE编码文档转变为UTF-8版本的功能[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值