嘉兴网站建设模板网站,嘉定网站建设,官方网站 建设情况汇报,linux代码做网站前言#xff1a;
嗨喽~大家好呀#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取
公司同事邀我一起给SQLSERVER 2008导数#xff0c; 数据来源有高斯和ORACLE, 数据文件保存格式有UTF-8和GBK。
当我在做测试导入的时候发现S…前言
嗨喽~大家好呀这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取
公司同事邀我一起给SQLSERVER 2008导数 数据来源有高斯和ORACLE, 数据文件保存格式有UTF-8和GBK。
当我在做测试导入的时候发现SQLSERVER 2008数据库的WITH选项不支持CODEPAGE‘65001’, 即UTF-8文件编码格式导入。 所以需要把UTF-8编码的文件统一转换成GBK 代码如下。
示例一
import os, sys
import chardetsource_file sys.argv[1] # 源文件
dest_file sys.argv[2] # 转后的目标文件# 确定源文件字符编码
for row in open(source_file, rb):tmp chardet.detect(row)language tmp.get(encoding)if language.upper UTF-8:charset UTF-8else:charset GB18030break# 将文件转换成GBK编码
with open(dest_file, w, encodingGB18030) as fp:for row in open(source_file,r, encodingcharset):fp.write(row)在转换生产数据的时候还算好用 但有些字符还是无法很好的识别 导致转换失败。 在网上又看到了一个专门用来编码转换的包:codecs, 用法大同小异
示例二 遇到问题没人解答小编创建了一个Python学习交流QQ群926207505
寻找有志同道合的小伙伴互帮互助,群里还有不错的视频学习教程和PDF电子书import os, sys
import chardet
import codecssource_file sys.argv[1] # 源文件
dest_file sys.argv[2] # 转后的目标文件# 确定源文件字符编码
for row in open(source_file, rb):tmp chardet.detect(row)language tmp.get(language)if language Chinese:charset GB18030else:charset UTF-8break# 将文件转换成GBK编码
fp codecs.open(dest_file, w, encodingGB18030) # 中文编码写入
for row in codecs.open(source_file, r, encodingcharset): # 指定编码读fp.write(row)brfp.close()通过 Unicode 编码来进行不同编码之间的相互转化 不同的编码之间不能互相识别不能相互转化会报错或出现乱码 国际通用标准文字通过网络传输、或硬盘存储等不能使用 Unicode 编码方式因为 Unicode 使用的是升级版 32 位的太费流量和空间 在 Python3 版本中唯独 string 在内存中的编码方式是 Unicode所以字符串不能直接进行网络传输及进行文件的存储 bytes也是一种数据类型不是字节与 string 类型就像是孪生兄弟 为啥要有 bytes —— bytes 内部编码不是 Unicode 方式因此可以进行网络传输和文件的存储 不同编码之间相互转化都需要先变成unicode编码, encode编码 decode解码
示例 遇到问题没人解答小编创建了一个Python学习交流QQ群926207505
寻找有志同道合的小伙伴互帮互助,群里还有不错的视频学习教程和PDF电子书s1 中国
bs1.encode(gbk)
s2 b.decode(gbk)
s3u中国print(s1)
print(b)
print(s2)
print(s1s2s3)结果
中国
b\xd6\xd0\xb9\xfa
中国
True在python3版本中, 字符串的编码方式就是Unicode 所以中国u中国
各系统的默认编码方式 WINDOWS: GBK LINUX: UTF-8 IOS: UTF-8
示例
# windows下生成的文件打开方式
with open(rd:\test.txt) as fp:print(fp.read())# linux下生成文件的打开方式
with open(rd:\test.txt encodingutf-8) as fp:print(fp.read())如果encoding不对 打开内容是乱码
尾语
最后感谢你观看我的文章呐~本次航班到这里就结束啦
希望本篇文章有对你带来帮助 有学习到一点知识~
躲起来的星星也在努力发光你也要努力加油让我们一起努力叭。 最后宣传一下呀~更多源码、资料、素材、解答、交流皆点击下方名片获取呀