右单撇号与撇号?

2024-01-31

右单引号 (U+2019) 与 撇号 (U+0027)

这两个角色有什么区别?

我遇到了这个问题,我使用 CAtlString 从资源文件加载字符串,在某些 Windows 安装上,当尝试加载包含 U+2019 的字符串时,LoadString 失败,但它适用于其他一些 Windows 安装。 U+2019 字符出现在我从 Word 复制的资源文件中的字符串中,U+0027 出现在我手工编码的stirngs 中。为什么 LoadString(有时)会因此而卡住?


这两个角色有什么区别?

有争议!

从名称来看,人们可能会认为卷曲的仅用作引号,而直的仅用作真正的撇号,即省略字母的指示符。

然而,传统的英语排版实践总是使用卷曲的来呈现撇号。就我个人而言——也许只有我一个人在这里——我不喜欢这样。它可能会使阅读更加含糊:

“他说,‘这是炸鱼薯条’……”

由于撇号是直的,引文结束的地方(稍微)更清楚:

“他说,‘这是炸鱼薯条’……”

撇号是“直的”对我来说更有意义,因为它指示省略字母的目的没有固有的方向性,而引号的目的显然是不对称的。

当然,在传统的 ASCII 中,没有智能引号,因此撇号始终用于两者......

在某些 Windows 安装上,LoadString 在尝试加载包含 U+2019 的字符串时失败,但它在其他一些 Windows 安装上有效。

在这里,您将遇到“ANSI”代码页的恐怖。这是默认字符编码,在不同的 Windows 安装区域设置中有所不同。因此,在西部地区的计算机上读取资源时与在日语 Windows 上读取资源时会得到不同的结果。

非常不幸的是,Windows 有不同的默认代码页,而不是使用像 UTF-8 这样的单一全局编码,但现在修复为时已晚。如果您将整个应用程序编译为 Unicode 应用程序(因此您将使用LoadStringW而不是LoadStringA) 那么你可以更好地处理非 ASCII 字符,比如智能引号。

如果您无法转移到 Unicode 应用程序,那么您就会陷入困境。您将无法在全局范围内处理非 ASCII 字符(例如智能引号),因此请坚持使用 ASCII 字符,例如单独的直撇号 。

U+2019 字符出现在我从 Word 复制的资源文件的字符串中

是的,Word 有一个烦人的自动更正功能,它会将您键入的所有撇号替换为智能引号。当您处理代码时,这是特别不可取的,因为 会破坏程序;但即使对于简单的古英语来说,这也是错误的,因为不可能正确猜测引用的所需方向。 (例如,它会将“fish 'n' Chips”中的撇号之一弄反。)

我建议关闭自动替换为智能引号功能。如果您想要智能引号,最好刻意输入它们。不幸的是,它们在大多数键盘布局上打字并不方便,通常需要晦涩的 Alt+小键盘序列。我个人使用this one http://www.doxdesk.com/software/win/eurokb.html将它们放到 Alt+[] 键上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

右单撇号与撇号? 的相关文章

随机推荐

  • 警告(不合时宜):将 void(*)(int) 分配给 extern "C" void(*)(int)

    我在使用 Sun 的 C 编译器时遇到问题 我读过甲骨文的使用函数指针 来自 C http www oracle com technetwork articles servers storage dev mixingcandcplusplu
  • TFS - 从本地工作副本创建分支

    我正在尝试从已签出项目的本地工作区创建一个分支 基本背景 我从项目的 主干 中签出并进行了很多更改 我现在想将这些更改签入新分支 我从源代码管理中创建了一个新分支 但我的工作区仍然映射到主干 我按照我在这里找到的一篇文章中的步骤进行操作 从
  • 如何根据给定的视频 url 从 Youtube API 获取 Youtube 视频 ID?

    我有一个页面 用户可以在其中粘贴 Youtube 视频网址 然后我需要提取视频的 ID 才能获取视频的缩略图 困难的部分是找到一种从视频 URL 中提取视频 ID 的可靠方法 这里有很多正则表达式解决方案 但对我来说 这些都不是 100 可
  • 如何正确声明 Font 变量? [复制]

    这个问题在这里已经有答案了 我有一个简单的问题 谁能告诉我这行有什么问题 Font printFont gcnew System Drawing Font Arial 10 我的编译器说 标识符 printFont 无法识别 我还包含命名空
  • 在 Windows 上获取鼠标光标位置和按钮状态

    在 Windows Windows 7 及更高版本 上获取鼠标光标位置或按钮状态的最合适方法是什么 我以前使用过 DirectInput 但我不再使用它并且不想使用它 我看到有 GetCursorPos 但是 我没有看到任何用于获取鼠标按钮
  • NetworkX 中的图排列和旋转

    l 与 Networkx 合作生成某种类型的图表 现在我想排列节点并旋转图形 80 90 120 度 我怎样才能申请排列 and rotation在带有 NetworkX 的图表上 Edit 1 给定图的邻接矩阵 我希望以保留边和顶点链接的
  • 如何从模型中获取 Zend\Db\Adapter 实例? (ZF2)

    我正在创建用于管理数据库实体的抽象模型 我已经有了EntityAbstract EntitySetAbstract and a ManagerAbstract楷模 在我的 ManagerAbstract 模型中 我需要一个Zend Db A
  • 显示键盘后离开应用程序时出现快照错误(需要 afterScreenUpdates:YES)

    我目前正在启动一个新的测试项目 用于通过单独的 模式 视图导入客户端证书 该应用程序始终以 主视图 视图开始 主视图 https i stack imgur com xtFsC png 我有一些虚拟元素来测试连接是否有效 一旦用户将文件添加
  • 如何正确授权对 Google Cloud Storage API 的请求?

    我正在尝试使用 Google Cloud Storage JSON API 通过 http 调用从存储桶中检索文件 我从与存储桶相同的项目中的 GCE 容器中进行卷曲 并且服务帐户具有对该存储桶的读取访问权限 以下是请求的模式 https
  • java.lang.NoSuchMethodError:没有为 HttpClientResponse 执行虚拟方法

    当我在启动后尝试运行该应用程序时 它在 logcat 中显示异常 如下所示 java lang NoSuchMethodError No virtual method execute Lorg apache http client meth
  • 显示和隐藏 Windows 10 屏幕键盘 (osk.exe) 时遇到问题

    我一直在尝试获取屏幕键盘 osk exe 在 Windows 10 上从我的应用程序中出现 和消失 我的应用程序在 Windows 7 中运行良好 ShellExecute on osk exe会在那里显示键盘 但尝试在 Windows 1
  • 确定字符串是否是有效的地理位置

    我有一堆 位置 有些是准确的 哈博罗内 博茨瓦纳 有些是地理编码 40 75 73 997 有些是完全无用的 siliconcape 我需要找到一种方法来运行列表并确定每个字符串和地理编码的城市和国家 地区 并为无效位置返回空值 是否有某种
  • RequireJS:多个 main.js?

    我一直在使用 requireJS 构建一个单页应用程序 到目前为止我很喜欢它 我已经到了在主应用程序之外开发网站其他部分的阶段 但我不太确定如何 或是否 为此使用 requireJS 在我的主应用程序中 一切都是由这个脚本标签触发的
  • python 字典理解如何与内部的 lambda 函数一起工作

    我的目标是使用以下方法聚合 pandas DataFrameGroupBy 对象agg https pandas pydata org pandas docs stable reference api pandas core groupby
  • 组合器可以处理多个映射器的结果吗?

    如果在同一个节点上执行多个映射器 combiner 会合并多个映射器的结果吗 我在文档或书籍中找不到这个问题的答案 我可以找到的组合器示例似乎都产生了影响 即使它只能聚合来自一个映射器的结果 来自雅虎的Hadoop教程 http devel
  • 实体框架 DataContext 问题 - 它是否在我的控制器中得到正确处理?

    我已经收到了一些代码 并且在控制器类中有一个属性保存初始化的数据库上下文 public class MyController Controller protected AssetManagerContext db new AssetMana
  • 传播不可迭代实例的无效尝试

    将不胜感激这里的任何帮助 我有这段代码 每当表单字段收到更改时都会尝试更新我的状态 这在以前版本的 React 中工作得很好 但升级到最新版本后 我收到错误 传播不可迭代实例的尝试无效 我知道我需要使我的国家正常化 我计划这样做 然而 这将
  • ubuntu下gcc 4.5安装问题

    我尝试在 ubuntu 10 04 上安装 gcc 4 5 但失败了 这是一个编译错误 我不知道如何解决 有没有人在ubuntu上成功安装最新的gcc 以下是我的步骤和错误信息 我想知道问题出在哪里 第一步 下载这些文件 gcc core
  • 将 kml 多边形转换为 svg 路径

    我有一个带有地标的 KML 文件 每个地标都有多边形坐标 我想根据我从 json 文件读取的值动态更改多边形的填充颜色 我的理解是谷歌缓存了kml文件 所以你不能轻易地动态改变多边形的填充颜色 所以我试图将我的 kml 多边形转换为 svg
  • 右单撇号与撇号?

    右单引号 U 2019 与 撇号 U 0027 这两个角色有什么区别 我遇到了这个问题 我使用 CAtlString 从资源文件加载字符串 在某些 Windows 安装上 当尝试加载包含 U 2019 的字符串时 LoadString 失败