finecolder 2024-03-02 14:40 采纳率: 50%
浏览 41

Python中文字保存出现乱码

img


我正在做一个利用paddleOCR识别文字的项目,识别已经完成了,但是在保存识别结果时,出现了乱码,我想要的文字也有,但是出了一些没什么用的数字,请问各位懂行的老司机,要怎么样才能删掉数字,只保存结果。谢谢!

  • 写回答

3条回答 默认 最新

  • 檀越@新空间 2024-03-02 14:40
    关注

    戒骄戒躁.jpg 下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    乱码问题通常是由于编码不一致所导致的。在保存识别结果时,您可以将结果转换为指定的字符编码,以防止乱码的出现。以下是解决方案的步骤:

    1. 确定保存结果的编码格式:首先确定您想要保存的编码格式,比如UTF-8、GBK等。

    2. 转换编码格式:使用Python的 encode 方法将字符串转换为指定的编码格式。假设您的识别结果保存在变量 result 中,您可以使用以下代码进行转换:

    encoded_result = result.encode('utf-8')  # 将结果转换为UTF-8编码格式
    
    1. 保存结果:使用Python的文件操作方法将转换后的结果保存到文件中。假设您要保存到一个名为 output.txt 的文件中,您可以使用以下代码:
    with open('output.txt', 'w', encoding='utf-8') as f:
        f.write(encoded_result)
    

    在这个过程中,您可以选择删除数字的方法,可以使用正则表达式来匹配并删除数字。以下是使用正则表达式删除数字的代码示例:

    import re
    
    clean_result = re.sub(r'\d+', '', result)  # 删除字符串中的数字
    encoded_result = clean_result.encode('utf-8')  # 转换为指定的编码格式
    

    然后将 encoded_result 写入文件中,具体的代码与步骤2中的保存结果部分相同。

    请将这些步骤尝试应用到您的代码中,并确保在保存结果时使用正确的编码格式,以避免乱码问题的出现。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月2日