c# - 为 VB6 应用程序将 UTF8 撇号和引号转换为 ASCII
问题描述
我有一个 VB6 桌面应用程序以及 iOS 和 Android 智能手机应用程序。当有人在 iOS 应用程序中输入诸如 O'Hara 之类的名称时,它会作为不可读的字符传入 VB6 桌面应用程序。我认为这是 UTF8 到 ASCII 的转换问题?我想截取这个数据服务器端并将“和”更改为在 VB6 中可以正确读取的正确字符。我应该如何在 C# .NET 中执行此操作?
解决方案
您可以用适合 VB 6 使用的字符集的版本替换有问题的字符:
string value = "The problem string";
value = value.Replace("\u2022", "-");
value = value.Replace("\u2013", "-");
value = value.Replace("\u2014", "-");
value = value.Replace("\u2015", "-");
value = value.Replace("\u2017", "_");
value = value.Replace("\u2018", "'");
value = value.Replace("\u2019", "'");
value = value.Replace("\u201a", ",");
value = value.Replace("\u201b", "'");
value = value.Replace("\u201c", "\"");
value = value.Replace("\u201d", "\"");
value = value.Replace("\u201e", "\"");
value = value.Replace("\u2026", "...");
value = value.Replace("\u2032", "'");
value = value.Replace("\u2033", "\"");
当然,这并不是所有 Unicode 字符的详尽列表。您最终可能会发现需要更换更多,或以某种方式警告它们。
推荐阅读
- c - 如何解决hackerrank中此代码的超时错误
- ios - GitHub 操作 IOS xcode QA/Staging 和颁发证书和配置文件
- html - 图片需要使用列设置,不使用高度和宽度
- regex - bcp boost 正则表达式 makefile 配置
- javascript - 在 javascript 中获取多个基于 td id 的值时显示错误
- angular - 如果 http.get 在 Guard canActivate 函数中成功,则返回 true 的函数
- javascript - 由于错误,我的 firebase 登录表单出现问题:“email”必须是有效字符串。”
- python - PyTorch:为什么 dir(nn.Module()) 和 dir(nn.Module) 之间的区别
- php - 如果元素未经验证,如何停止更新
- php - 如果元素有这个或那个类,如何使用 getElementsByTagName()?