问题标签 [codepages]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - .NET 可以将 Unicode 转换为 ASCII 以删除“智能引号”等吗?
我们的一些用户使用无法处理 Unicode 的电子邮件客户端,即使在邮件标头中正确设置了编码等。
我想“规范化”他们收到的内容。我们遇到的最大问题是用户将 Microsoft Word 中的内容复制并粘贴到我们的 Web 应用程序中,然后通过电子邮件转发该内容 - 包括分数、智能引号和 Word 为您插入的所有其他扩展 Unicode 字符.
我猜这没有绝对的解决方案,但是在我坐下来开始编写很棒的大型查找表之前,是否有一些内置方法可以让我开始?
基本上涉及三个阶段。
首先,从其他正常字母中去除重音 - 解决方案在这里
去
其次,将单个 Unicode 字符替换为对应的 ASCII 字符,得到:
这是我希望在实施自己的解决方案之前有解决方案的部分。最后,用合适的 ASCII 序列替换特定字符 - ½ 到 1/2 等等 - 我很确定任何类型的 Unicode 魔法本身都不支持,但有人可能已经写了一个合适的查找表,我可以重复使用。
有任何想法吗?
c# - 从 Web 服务输出中清除 ASCII 控制字符
我从最近使用的 Web 服务收到的一些文本遇到了一些困难。Web 服务发回 XML,这很好,但是我们在一些 XML 的中间得到了 ASCII 控制字符。我想在这篇文章中粘贴一个示例,但由于是无效字符,我什至无法将其粘贴到此文本区域中。
我花了一些时间研究在这些情况下该怎么做,我发现了这篇内容丰富的文章:http ://seattlesoftware.wordpress.com/2008/09/11/hexadecimal-value-0-is-an-invalid-character/ 。这是本文的相关引述:
这些不是在 XML 数据中有任何业务的字符;它们是应该删除的非法字符...
因此,按照文章的建议,我编写了一些代码来获取该服务的原始输出并将其去除任何作为控制字符的字符(并且不是空格、制表符、cr 或 lf)
这是该代码:
不过,这让我开始思考。如果我收到双字节字符,我会搞砸我得到的任何数据吗?某些代码页具有由一个或两个单字节 ASCII 控制字符组成的双字节字符是否有效?文章说这些字符在 XML 数据中“没有业务”听起来是最后的,但我想要第二个意见。
感谢任何反馈
python - Windows下Python中的文件名格式化
我有两个不同的文件,称为:
'╠.txt' 和 '¦.txt'
这么简单的代码:
这将返回
我不明白为什么我得到╠字符的代码 0xA6 而不是 OxCC。我一直在尝试使用编码解码方法,但没有成功。我注意到 sys.getfilesystemencoding() 设置为 mbcs - 但我无法设法将其更改为 cp437 之类的东西。
很感谢任何形式的帮助。谢谢!
java - 如何在java中更改文件编码表
我有我的代码来检查编码表:
当我从 Windows 启动时,我得到带有 cp1250 的文本文件,当我从嵌入式系统启动时,我得到带有 cp852 的文本文件。在 Windows 中,我设置了代码页 852。在 Eclipse 中,我设置了 cp852。一些解决方案?
c# - 如何将 UTF-8 阿拉伯字母转换为 CodePage 1001?
我有一个支持 CodePage 1001 阿拉伯语的 Star Micronics TSP,如何使用 C# 将 UTF-8 转换为该特定代码页?
更新:我发现 CodePage 864 与打印机兼容,我尝试发送十六进制值,我得到了正确的字符,
我尝试了以下方法将字符串转换为 codePage 864:
我在编码后得到的字节 arr 值{63,63,63,63,63,63}
是错误的,甚至字节数也是错误的,因为它是一个双字节字符。
winapi - Windows 系统区域设置必须是系统范围的吗?
大家好。Windows 系统区域设置(或者说,系统代码页、1252、936、950 等)必须是系统范围的吗?要知道,在 Windows 2000 ~ Windows 7 中,在控制面板中更改系统代码页需要重新启动才能生效。
我想知道我是否可以进行每个登录会话的区域设置甚至每个进程的区域设置?这将简化在不同语言环境下运行的调试程序。
顺便说一句:我找到了 GetCPInfo() Win32 API,但没有对应的 SetCPInfo,叹息。
c# - 另一个代码页检测问题
好的,在你用长矛冲向我并把我带到燃烧的代码页战场之前,请注意我并不是要自动检测文本的代码页。我知道那是不可能的。但我不知道可能的是自动检测代码页问题。举个例子。我有一个较大的文本(2-3 页)加上一个“默认”代码页。我尝试使用默认代码页解码文本。如果出现乱码,我会尝试使用另一个代码页来解码文本。所以问题是:是否有可能以某种方式检测乱码字符?
提前感谢您的帮助。最好的问候,丹尼尔
vb6 - 为什么将 ADODB.Stream 与 ASCII 字符集特殊字符作为 ä 转换为 a?
我在尝试将 vb6 中某些变量的内容输出到文本文件时遇到问题。问题是,当扩展 ASCII 中的特殊字符显示为 ä、ü、á 时,它会在输出中转换为匹配的基本 ASCII 字符,如 a、u、a。
我尝试像 UTF-8 一样导出它,然后正确显示字符,但我需要输出为 ASCII。此外,对我来说,文件名通常可以包含此字符(ä、ü、á...)而无需替换,这对我来说看起来很奇怪。
这可能是因为“ASCII”字符集只是基本字符集而不是扩展字符集吗?也许是因为在 Windows 中配置了 CodePages?我已经尝试过其中几个(德语,英语),结果相同。
这是我正在使用的代码:
提前致谢!
c# - 使用数据集读取值会混淆特定语言字符,具体取决于客户端操作系统
我使用 C# 创建了一个 Windows 应用程序,该应用程序使用 OleDBConnection 使用 Dbase 数据库文件中的数据创建数据集。
我的问题是它在我自己的计算机上运行得很好(瑞典语),但是当我在我的服务器上运行它(英语)时,瑞典语字母(å,ä,ö,Å,Ä,Ö)就搞砸了。
我试过这个没有运气: