天道酬勤,学无止境

如何读取中文文件?(How to read Chinese files?)

问题

我被所有这些令人困惑的编码内容所困扰。 我有一个包含中文字幕的文件。 我实际上相信它是 UTF-8,因为在 Notepad++ 中使用它会给我一个很好的结果。 如果我设置 gb2312 中文部分还是可以的,但是我会看到一些 UTF8 代码没有被转换。

目标是遍历文件中的文本并计算不同字符出现的次数。

import os
import re
import io

character_dict = {}
for dirname, dirnames, filenames in os.walk('.'):
    for filename in filenames:
        if "srt" in filename:
            import codecs
            f = codecs.open(filename, 'r', 'gb2312', errors='ignore')
            s = f.read()

            # deleting {}
            s = re.sub('{[^}]+}', '', s)
            # deleting every line that does not start with a chinese char
            s = re.sub(r'(?m)^[A-Z0-9a-z].*\n?', '', s)
            # delete non chinese chars
            s = re.sub(r'[\s\.A-Za-z0-9\?\!\\/\-\"\,\*]', '', s)
            #print s
            s = s.encode('gb2312')
            print s
            for c in s:
                #print c
                pass

这实际上会给我完整的中文文本。 但是当我打印出底部的循环时,我只会得到问号而不是单个字符。

另请注意,我说它是 UTF8,但我必须使用 gb2312 进行编码并作为我的 gnome 终端中的设置。 如果我在代码中将它设置为 UTF8,无论我将终端设置为 UTF8 还是 gb2312,我都会得到垃圾。 所以也许这个文件毕竟不是 UTF8!?

无论如何,s 包含完整的中文文本。 为什么我不能循环它?

请帮助我理解这一点。 这对我来说非常混乱,文档让我无处可去。 谷歌只是把我引向了有人解决的类似问题,但到目前为止还没有任何解释可以帮助我理解这一点。

回答1

gb2312是一种多字节编码。 如果您迭代用它编码的字节串,您将迭代字节,而不是您想要计数(或打印)的字符。 您可能希望在编码之前对unicode字符串进行迭代。 如有必要,您可以将各个代码点(字符)编码为它们自己的字节串以进行输出:

# don't do s = s.encode('gb2312')
for c in s:      # iterate over the unicode codepoints
    print c.encode('gb2312')  # encode them individually for output, if necessary
回答2

您正在打印单个字节。 GB2312是多字节编码,每个码位使用2个字节。 单独打印这些字节不会产生有效的输出,不。

解决方案是在打印时不从 Unicode 编码为字节。 改为循环 Unicode 字符串:

# deleting {}
s = re.sub('{[^}]+}', '', s)
# deleting every line that does not start with a chinese char
s = re.sub(r'(?m)^[A-Z0-9a-z].*\n?', '', s)
# delete non chinese chars
s = re.sub(r'[\s\.A-Za-z0-9\?\!\\/\-\"\,\*]', '', s)
#print s

# No `s.encode()`!
for char in s:
    print char

可以单独对每个char进行编码:

for char in s:
    print char

但是,如果您正确配置了控制台/IDE/终端,您应该能够直接打印而不会出错,尤其是因为您的print s.encode('gb2312 )` 会产生正确的输出。

您似乎也将 UTF-8(一种编码)与 Unicode 标准混淆了。 UTF-8 可用于以字节表示 Unicode 数据。 GB2312是编码,并且可以用于表示(子集)以字节为单位Unicode文本。

您可能想阅读 Python 和 Unicode:

  • Python Unicode HOWTO

  • 内德巴切尔德的实用 Unicode

  • 绝对最低要求每个软件开发人员绝对必须了解 Unicode 和字符集(没有任何借口!)作者:Joel Spolsky

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 如何在INI文件中读取/写入中文/日语字符?(How to read/write Chinese/Japanese characters from/to INI files?)
    问题 使用WritePrivateProfileString和GetPrivateProfileString导致??? 而不是真实角色。 回答1 GetPrivateProfileString()和WritePrivateProfileString()可以与Unicode一起使用。 如果ini文件是UTF-16LE编码的,即它具有UTF-16 BOM,则这些功能将以Unicode工作。 但是,如果函数必须创建文件,则它们将创建一个ANSI文件,并且只能在ANSI中工作。 因此,要将函数与Unicode一起使用,请在首次使用它之前创建您的ini文件,并在其中写入UTF-16LE字节顺序标记。 然后照常进行。 请注意,这些功能对于UTF-8完全不起作用。 有关您想要了解的更多信息,请参阅Michael Kaplan的博客。 回答2 WritePrivateProfileStringW函数将以旧版系统编码(例如,日语系统上的Shift-JIS)写入INI文件,因为它是旧版支持功能。 如果要具有完全启用Unicode的INI文件,则需要使用外部库。 试试SimpleIni http://code.jellycan.com/simpleini/ 它是C ++,单个头文件,带有MIT许可证的模板库(即可以商业使用)。 将其包括到您的源文件中并使用它。 它是跨平台的,支持UTF-8和旧编码文件
  • 如何读取汉字中的excel文件[R]?(How to read excel file in Chinese character [R]?)
    问题 我总是将 excel 文件转换为 CSV 文件以导入到 R 如下。 myDataFrame <- read.csv("mydatafile.csv", stringsAsFactors=F) 但是,当我转换用中文编写的 xlsx 文件时,我遇到了一个严重的问题。 大多数字符(不是全部)显示 '??' 因为编码。 所以,我决定使用xlsx包直接导入。 但问题是excel文件的大小超过10MB。 由于 JVM 内存限制,它给了我一条错误消息。 (我假设xlsx内部使用 Java。) .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, 中的错误: java.lang.OutOfMemoryError:超出 GC 开销限制 如何将中文excel文件导入R? 我尝试了“另存为..”CSV 文件,并打开它的记事本,并使用选项“UTF-8”保存它。 但结果是一样的(显示'??')。 仅供参考,我可以在原始 excel 文件中看到完整的汉字。 回答1 你的问题是一个混合的问题。 假设您已将 xlsx 文件转换为 csv。 如果您还没有,请参阅其他主题,例如此主题。 我认为这一步最好在一些外部工具中执行,而不是在 R 中执行。 现在我们有了一个 csv,还有两个问题,大小和编码。 对于编码,正如您在评论中提到的
  • 使用 xlrd 读取包含中文和/或印地语字符的 Excel xls 文件(Using xlrd to read Excel xls file containing Chinese and/or Hindi characters)
    问题 http://scienceoss.com/read-excel-files-from-python/comment-page-1/#comment-1051 从上面的链接,我使用这个实用程序来读取一个 XLS 文件。 如果 XLS 文件包含不同的语言字符,如中文或印地语,则无法正确输出。 有解决方法吗? 谷歌搜索后,我发现了这个: import xlrd def upload_xls(dir,file,request): try: global msg global row_num row_num = [] header_arr = [] global file_path file_path = dir #reader = csv.reader(open(file), delimiter='#', quotechar='"') book = xlrd.open_workbook('dodgy.xls',encoding='cp1252') ##To specify UTF8-encoding wb.sheet_names() sh = wb.sheet_by_index(0) valid_xl_format = 0 invalid_xl_format = 0 except: print "Error 但是行book = open_workbook('dodgy.xls'
  • 用c++读取txt文件(中文)(read txt file in c++ (chinese))
    问题 我正在尝试开发检查用户输入的中文单词是否在 txt 文件中的功能。 以下是代码。 但它不起作用。 我想知道是什么问题。 请帮帮我。 setlocale(LC_ALL, "Chinese-simplified"); locale::global(locale("Chinese_China")); SetConsoleOutputCP(936); SetConsoleCP(936); bool exist = FALSE; cout << "\n\n <Find the keyword whether it is in that image or not> \n "; cout << "Enter word to search for: "; wstring search; wcin >> search; //There is a problem to enter chinese. wfstream file_text("./a.txt"); wstring line; wstring::size_type pos; while (getline(file_text, line)) { pos = line.find(search); if (pos != wstring::npos) // string::npos is returned if string is not
  • 如何在R中读取未知编码的csv数据(How to read csv data with unknown encoding in R)
    问题 我有一个.csv数据,可以从网页上查看它,但是当我将其读入R ,某些数据无法显示。 数据在此处home.ustc.edu.cn/~lanrr/data.csv mydata = read.csv("http://home.ustc.edu.cn/~lanrr/data.csv", header = T) View(mydata) # show something like this: # 9:39:37 665 600160 �޻��ɷ� ���� ���� 8.050 100 805.00 ��ȯ �ɽ� ��ȯ���� E004017669 665 2 9:39:38 697 930 �������� ���� ���� 4.360 283 1233.88 ���� �ɽ� ����Ʒ���� 680001369 697 数据中包含一些中文单词,但是如果我需要更改编码或进行其他操作,我不需要吗,有人遇到过这个问题吗? mydata = read.csv("http://home.ustc.edu.cn/~lanrr/data.csv", encoding = "UTF-8", header = T, stringsAsFactors = F) View(mydata) # 9:39:37 665 600160 <U+00BE><U+07BB><U+00AF><U+00B9
  • 如何解码中文文本中的unicode(How to decode unicode in a Chinese text)
    问题 with open('result.txt', 'r') as f: data = f.read() print 'What type is my data:' print type(data) for i in data: print "what is i:" print i print "what type is i" print type(i) print i.encode('utf-8') 我有带字符串的文件,我正在尝试读取文件并按空格拆分单词并将它们保存到列表中。 下面是我的代码: 以下是我的错误信息: 有人请帮忙! 更新: 我将在这里详细描述我想要做的事情,以便为人们提供更多上下文: 我尝试做的目标是: 1. 将中文文本分解成句子,并检测基本的结尾标点符号。 2. 取每个句子,使用工具 jieba 将字符标记为有意义的单词。 例如,两个汉字学,生,将组合在一起产生一个标记“学生”(意思是学生)。 3. 将句子中的所有标记保存到列表中。 所以最终的列表里面会有多个列表,因为一个段落中有多个句子。 # coding: utf-8 #encoding=utf-8 import jieba cutlist = "。!?".decode('utf-8') test = "【明報專訊】「吉野家」and Peter from US因被誤傳採用日本福島米而要報警澄清
  • 读取文件中的汉字并将其发送到浏览器(Reading Chinese characters in a file and sending them to a browser)
    问题 我正在尝试制作一个程序: 从文件中读取汉字列表,从中制作字典(将符号与其含义相关联)。 选择一个随机字符并在收到 GET 请求时使用BaseHTTPServer模块将其发送到浏览器。 一旦我设法正确读取和存储标志(我尝试将它们写入另一个文件以检查我是否正确并且可以正常工作),我无法弄清楚如何将它们发送到我的浏览器。 我连接到 127.0.0.1:4321 并且我管理的最好的是获得一个(据说)url编码的中文字符,及其翻译。 代码: # -*- coding: utf-8 -*- import codecs from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler from SocketServer import ThreadingMixIn import threading import random import urllib source = codecs.open('./signs_db.txt', 'rb', encoding='utf-16') # Checking utf-16 works fine with chinese characters and stuff : #out = codecs.open('./test.txt', 'wb', encoding='utf-16') #for
  • 如何在 r 控制台中显示和输入中文(和其他非 ASCII)字符?(how to display and input chinese (and other non-ASCII) character in r console?)
    问题 我的系统:win7 Ultimate 64 英文版 + r-3.1(64) 。 这是我的 sessionInfo。 > sessionInfo() R version 3.1.0 (2014-04-10) Platform: x86_64-w64-mingw32/x64 (64-bit) locale: [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252 LC_NUMERIC=C LC_TIME=English_United States.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base 1.r控制台无法输入汉字当我在 r 控制台中输入一个汉字时,它变成了乱码。 2.r控制台无法显示汉字当我在 r 控制台中读取数据时,汉字变成了乱码。 您可以下载数据,并使用 read.table("r1.csv",sep=",") 下载数据 如果您不知道如何从我的网站获取数据,请参阅图表以下载数据。 如何设置我的电脑以在 r 控制台中正确显示和输入中文字符? 我已经更新了中文语言包,并启用了它
  • 如何在R中读取utf-8格式的数据?(how to read data in utf-8 format in R?)
    问题 我的系统:win7 + R-3.0.2。 > Sys.getlocale() [1] "LC_COLLATE=Chinese (Simplified)_People's Republic of China.936;LC_CTYPE=Chinese (Simplified)_People's Republic of China.936;LC_MONETARY=Chinese (Simplified)_People's republic of China.936;LC_NUMERIC=C;LC_TIME=Chinese (Simplified)_People's Republic of China.936" 在Microsoft记事本中保存了两个内容相同的文件:一个保存为ansi格式,另一个保存为utf8格式。数据是马来西亚航空M370中的死亡名称。 或者,您可以通过这种方式创建文件。 1)将数据复制到Microsoft记事本中。 乘客姓名,性别,出生日期 HuangTianhui,男,1948/05/28 姜翠云,女,1952/03/27 李红晶,女,1994/12/09 2)将其保存为test.ansi,并在记事本中使用ansi格式。 3)在记事本中将其另存为test.utf8,格式为utf-8。 read.table("test.ansi",sep=",",header
  • 为什么Java BufferedReader()无法正确读取阿拉伯和中文字符?(Why is Java BufferedReader() not reading Arabic and Chinese characters correctly?)
    问题 我正在尝试读取每行包含英语和阿拉伯字符的文件,以及每行包含英语和汉语字符的另一个文件。 但是,阿拉伯语和中文字符无法正确显示-它们只是显示为问号。 知道如何解决这个问题吗? 这是我用来阅读的代码: try { String sCurrentLine; BufferedReader br = new BufferedReader(new FileReader(directionOfTargetFile)); int counter = 0; while ((sCurrentLine = br.readLine()) != null) { String lineFixedHolder = converter.fixParsedParagraph(sCurrentLine); System.out.println("The line number "+ counter + " contain : " + sCurrentLine); counter++; } } 版本01 阅读该行并获取阿拉伯语和中文单词后,我使用一个函数来翻译它们,只需在ArrayList中搜索给定的阿拉伯文字(包含所有预期的单词)(使用indexOf();方法)。 然后,当找到单词的索引时,它会被用来调用另一个Arraylist中具有相同索引的英语单词。 但是,此搜索始终返回false
  • 熊猫读取带有中文文件名的excel(Pandas read excel with Chinese filename)
    问题 我正在尝试将名称中包含中文字符的文件加载为熊猫数据框。 我试过了: df=pd.read_excel("url/某物2008.xls") 和 import sys df=pd.read_excel("url/某物2008.xls", encoding=sys.getfilesystemencoding()) 但响应类似于:“没有这样的文件或目录“url/\xa1\xa92008.xls” 我也尝试使用 os.rename 更改文件的名称,但文件名甚至无法正确读取(要求 python 只打印文件名只会产生问号或方块)。 回答1 df=pd.read_excel(u"url/某物2008.xls", encoding=sys.getfilesystemencoding()) 可能工作...但您可能必须在文件顶部声明编码类型 回答2 试试这个进行 unicode 转换: df=pd.read_excel(u"url/某物2008.xls", encoding='utf-8')
  • Java 控制台无法正确读取中文字符(Java console not reading in Chinese characters correctly)
    问题 我正在努力让 Eclipse 正确读取中文字符,而且我不确定我哪里出错了。 具体来说,在从控制台读取一串中文(简体或繁体)和输出之间的某个地方,它会出现乱码。 即使输出一大串混合文本(英文/中文字符),它似乎也只是改变了中文字符的外观。 我已将其缩减为以下测试示例,并明确地用我认为在每个阶段发生的情况对其进行了注释 - 请注意,我是一名学生,非常想确认我的理解(或其他方式):) public static void main(String[] args) { try { boolean isRunning = true; //Raw flow of input data from the console InputStream inputStream = System.in; //Allows you to read the stream, using either the default character encoding, else the specified encoding; InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8"); //Adds functionality for converting the stream being read in
  • 如何在Java中使用中文和日语字符作为字符串?(how to use chinese and japanese character as string in java?)
    问题 你好我正在使用Java语言。 在此,我必须使用一些中文,日文字符作为字符串,并使用System.out.println()进行打印。 我怎样才能做到这一点? 谢谢 回答1 Java字符串支持Unicode,因此中文和日语是没有问题的。 不过,可能需要告知其他工具(例如文本编辑器)和您的OS Shell。 读取或打印Unicode数据时,必须确保控制台或流也支持Unicode(否则它可能会被问号替换)。 Writer unicodeFileWriter = new OutputStreamWriter( new FileOutputStream("a.txt"), "UTF-8"); unicodeFileWriter.write("漢字"); 您可以直接将Unicode文字嵌入Java源代码文件中,但是您需要告诉编译器该文件位于UTF-8中( javac -encoding UTF-8 )。 String x = "漢字"; 如果想发狂,甚至可以在方法,变量或类名中使用中文字符。 但这违背了命名约定,我强烈建议至少不要在类名中使用它(因为它们需要映射到文件名,而Unicode可能会在其中引起问题): 結果 漢字 = new 物().処理(); 回答2 只需使用它,Java字符串就完全是unicode,因此应该没有什么难说的 System.out.println("世界您好!"
  • 用c#读取文件内容中文是乱码的解决方法:
    用c#读取文件内容中文是乱码的解决方法: 参考文章: (1)用c#读取文件内容中文是乱码的解决方法: (2)https://www.cnblogs.com/skyay/p/5867406.html 备忘一下。 来源:https://blog.csdn.net/w36680130/article/details/115277000
  • 如何在熊猫数据框中显示汉字?(How to display Chinese characters inside a pandas dataframe?)
    问题 我可以读取一个csv文件,其中有一列包含汉字(其他列是英文和数字)。 但是,中文字符无法正确显示。 看下面的照片 我用pd.read_csv()加载了 csv 文件。 display(data06_16)或data06_16.head()都不能正确显示汉字。 我尝试将以下几行添加到我的.bash_profile : export LC_ALL=zh_CN.UTF-8 export LANG=zh_CN.UTF-8 export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 但它没有帮助。 我也尝试将encoding arg 添加到pd.read_csv() : pd.read_csv('data.csv', encoding='utf_8') pd.read_csv('data.csv', encoding='utf_16') pd.read_csv('data.csv', encoding='utf_32') 这些根本行不通。 如何正确显示汉字? 回答1 我只记得源数据集是使用encoding='GBK'创建encoding='GBK' ,所以我再次尝试使用 data06_16 = pd.read_csv("../data/stocks1542monthly.csv", encoding="GBK") 现在,我可以看到所有的汉字。
  • Python 词云可视化【爆肝之作】
    爆肝之作,禁止白嫖 词云是文本大数据可视化的重要方式,可以将大段文本中的关键语句和词汇高亮展示。 从四行代码开始,一步步教你做出高大上的词云图片,可视化生动直观展示出枯燥文字背后的核心概念。进一步实现修改字体、字号、背景颜色、词云形状、勾勒边框、颜色渐变、分类填色、情感分析等高级玩法。 学完本课之后,你可以将四大名著、古典诗词、时事新闻、法律法规、政府报告、小说诗歌等大段文本做成高大上的可视化词云,还可以将你的微信好友个性签名导出,看看你微信好友的“画风”是怎样的。 从远古山洞壁画到微信表情包,人类千百年来始终都是懒惰的视觉动物。连篇累牍的大段文本会让人感到枯燥乏味。在这个“颜值即正义”的时代,大数据更需要“颜值”才能展现数据挖掘的魅力。 对于编程小白,学会此技可以玩转文本,入门中文分词、情感分析。对于编程高手,通过本课可以进一步熟悉Python的开源社区、计算生态、面向对象,自定义自己专属风格的词云。 词云的应用场景 会议记录海报制作PPT制作生日表白数据挖掘情感分析用户画像微信聊天记录分析微博情感分析Bilibili弹幕情感分析年终总结 安装本课程所需的Python第三方模块 一行命令安装(推荐,适用于99.999%的情况) 打开命令行,输入下面这行命令,回车执行即可。 pip install numpy matplotlib pillow wordcloud imageio
  • Oracle中如何确定给定字符串的语言(英文,中文...)?(How to determine the language(English, Chinese…) of a given string in Oracle?)
    问题 如何在 Oracle(多语言环境)中确定给定 sting(表列值)的语言(英文、中文...)? 回答1 应该可以使用像 Java 语言检测这样的库并将其与您的 PL/SQL 联系起来。 使用 SQL 进行朴素贝叶斯过滤并使用源自例如维基百科的语言配置文件可能会更有效(它们在这里整齐地打包)。 这些只是提示,不是赏金要求的完整解决方案,但应该有助于赏金寻求者。 回答2 你是说语言是“这个词属于什么语言”还是“字符编码”? 对于第一种情况,我认为只有启发式方法,我不确定 Oracle 数据库是否提供任何启发式方法。 Oracle Ultra Search 具有统计语言识别器。 在第二种情况下:编码始终是数据库的系统编码(但您实际上不应该使用它,因为在您检索它时它会转换为您的本地表示(当然取决于您的客户端框架和驱动程序)。 回答3 一个可能的解决方案可能是: 1) 以您期望的语言维护一些 dictionary.txt 文件 2)在解析有问题的输入字符串时,使用类似扫描器的东西来读取每个单词并在最期望的字典中搜索它,直到合理数量的匹配或失败允许您断言该字符串不是来自该语言(也许一定的百分比)。 3) 检查下一个最可能的字典等,直到找到答案,或者无法确定。 例如,有 englishDict.txt、spanishDict.txt 和 frenchDict.txt,然后可能首先检查
  • Qt知识点梳理 —— 国际化 QtLinguist 应用(2)
    文章目录 QSettings使用 多语言设置 运行效果 项目源码 开发环境 在 国际化 QtLinguist 应用(1) 中,已经生成了源语言和目的语言文件,这章来讲如何在程序中应用; QSettings使用 通过QSettings将用户选择的语言信息存储到 ini 文件中,在系统启动时判断要使用的语言; 将参数写入INI文件: void MainWindow::writeIniFile(QString content) { QSettings *settings = new QSettings("./SystemSettings.ini",QSettings::IniFormat); settings->setValue("language",content); delete settings; } 写入后文件内容: 从INI文件中读取参数: QString MainWindow::readIniFile() { QSettings *settings = new QSettings("./SystemSettings.ini",QSettings::IniFormat); QString lang = settings->value("language","Chinese").toString(); delete settings; return lang; } 多语言设置
  • 文件下载
    一、文件下载的实现 public class DownloadServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1.获取要下载的文件名 String downloadFileName = "webVM.txt"; //2.读取要下载的文件的内容(通过ServletContext对象可以读取) ServletContext servletContext = getServletContext(); //3.获取要下载的文件的类型 String mimeType = servletContext.getMimeType("/file/" + downloadFileName); //4.回传前通过响应头告诉客户端返回的数据类型 response.setContentType(mimeType); //5.还要告诉客户端收到的数据是用于下载使用 response.setHeader("Content-Disposition","attachment;filename=" + downloadFileName); //读取文件内容
  • 如何编码和解码残破的中文/ Unicode字符?(How to encode and decode Broken Chinese/Unicode characters?)
    问题 我曾尝试使用Google搜索,但无法找到下面这段文字所属的字符集: å…·æ‰É›é›»ç“¢ç”Ÿè£ç½®ä¹‹å½±åƒè¼¸å…¥è£ç½® 但是将<meta http-equiv="Content-Type" Content="text/html; charset=utf-8">并将该字符串保存到HTML文件中后,我能够正确地查看中文字符: 具有静电产生装置之影像输入装置 所以我的问题是: 我可以使用哪些工具来检测此文本的字符集? 以及如何在C#中正确转换/编码/解码它们? 更新:为了完整起见,我已经更新了此测试。 [TestMethod] public void TestMethod1() { string encodedText = "具有éœé›»ç”¢ç”Ÿè£ç½®ä¹‹å½±åƒè¼¸å…¥è£ç½®"; Encoding utf8 = new UTF8Encoding(); Encoding window1252 = Encoding.GetEncoding("Windows-1252"); byte[] postBytes = window1252.GetBytes(encodedText); string decodedText = utf8.GetString(postBytes); string actualText =