问题标签 [string-literals]
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.
c++ - 使用 strcat 追加字符数组不起作用
有人能告诉我这段代码有什么问题吗???
wpf - 忽略字符串格式
这是我的绑定(缩短,Command-Property 也被绑定)
ContectMenu 的 PlacementTarget 的标签属性是一个类似的字符串
我期望在命令处理程序中收到的是:
但我真正收到的是:
c++ - 将字符串文字分配给 char*
以下代码在 C++0x 中是否合法、已弃用或非法?
我最初在这里提出这个问题作为评论。
php - PHP字符串常量过度使用?
我有两个不同意同事的特殊情况,是否应该使用常量。
我们使用了一个与 Symfony 1.x 大致相似的自制框架。
初始代码位于用于路由的 PHP 路由配置文件中,如下所示:
同事改成:
IMO 这是经常过度使用:如果“模块”或“动作”的概念被重命名,则必须在整个代码中重命名,或者写成字符串或常量。另外,上面定义的常量名称没有特定含义,有利于命名冲突/混淆。
初始代码示例:
同事修改:
unid
在我们的应用程序中,这些会话变量名称login
显然不太可能更改。尽管如此,如果在这里声明常量真的是一个好习惯,我会建议至少更精确的名称,例如FIELDNAME_UNID
和FIELDNAME_LOGIN
......
引入这些常量真的相关(也就是说,命名应该只是改进),还是(我猜)完全没用?
谢谢。
编辑
几个月后,这里有一些来自constants.php文件的(难以置信的)行。我绝对觉得这是一个完全没用的混乱,类似于这个 DailyWTF 帖子。太多的常量会杀死常量。
c# - 反斜杠在我的 Web 服务中无法正常工作
我在 Web 服务中有一行简单的代码:
然而输出总是一样的。
如果我删除 @ 并使用两个斜杠,我会得到相同的结果。我以前从未见过这种情况,我的 Google-fu 让我失望了。我什至写了一个简单的应用程序,结果是正确的。那么为什么它在 Web 服务中起作用呢?
c++ - std::string 和字符串文字之间的不一致
我发现std::string
C++0x 中的字符串文字和字符串文字之间存在令人不安的不一致:
输出是:
我理解为什么会发生这种情况的机制:字符串文字实际上是一个包含空字符的字符数组,并且当基于范围的 for 循环调用std::end()
字符数组时,它会获得一个超出数组末尾的指针;由于空字符是数组的一部分,因此它会获得一个越过空字符的指针。
但是,我认为这是非常不可取的:std::string
当涉及到像它们的长度一样基本的属性时,字符串文字肯定应该表现得相同吗?
有没有办法解决这种不一致?例如,对于字符数组是否可以std::begin()
和std::end()
被重载,以使它们分隔的范围不包括终止空字符?如果是这样,为什么没有这样做?
编辑:为了证明我对那些说我只是遭受使用作为“遗留功能”的 C 样式字符串的后果的人的愤慨,请考虑如下代码:
你会期望f("hello")
并f(std::string("hello"))
做一些不同的事情吗?
java - 将字符串转换为字符串文字
可能重复:
如何将字符串转换为 Java 字符串文字?
是否有一个库函数接受一个字符串并将其转换为相应的字符串文字?例子:
Please say\ask "What?" three times!
->"Please say\\ask \"What?\" three times!"
c++ - 文件编码如何影响 C++11 字符串文字?
您可以在 C++11 中编写 UTF-8/16/32 字符串文字,方法是分别在字符串文字前面加上u8
/ u
/ U
。编译器必须如何解释在这些新类型的字符串文字中包含非 ASCII 字符的 UTF-8 文件?我知道该标准没有指定文件编码,仅这一事实就会使源代码中的非 ASCII 字符的解释完全未定义的行为,从而使该功能变得不那么有用。
我知道您仍然可以使用 转义单个 unicode 字符\uNNNN
,但是对于通常包含多个 unicode 字符的完整俄语或法语句子来说,这不是很可读。
我从各种来源了解到的是,这u
应该等同L
于当前的 Windows 实现和U
例如 Linux 实现。因此,考虑到这一点,我还想知道旧字符串文字修饰符所需的行为是什么......
对于代码示例猴子:
在理想的世界中,所有这些字符串都产生相同的内容(如:转换后的字符),但我使用 C++ 的经验告诉我,这绝对是实现定义的,可能只有第一个会做我想要的。
c++ - C++11 中字符串文字的 Unicode 编码
在一个相关问题之后,我想问一下 C++11 中新的字符和字符串文字类型。看起来我们现在有四种字符和五种字符串文字。字符类型:
和字符串文字:
问题是://\x
字符引用是否可以与所有字符串类型自由组合?是否所有的字符串类型都是固定宽度的,即数组包含的元素与文字中出现的元素数量一样多,或者/ /引用被扩展为可变数量的字节?和字符串是否具有编码语义,例如,我可以说非 BMP 代码点被编码为两个单元的 UTF16 序列吗?同样对于? 在(1)中,我可以用 写单独的代理吗?最后,是否有任何字符串函数编码感知(即它们是字符感知并且可以检测无效字节序列)?\u
\U
\x
\u
\U
u""
u8""
char16_t x[] = u"\U0010FFFF"
u8
\u
这是一个开放式问题,但我想尽可能完整地了解新 C++11 的新 UTF 编码和类型工具。
java - 为什么“\400”不是编译时错误?
0 到 255 之间的字符值可以用八进制文字 from "\000"
to表示"\377"
。
那么不"\400"
应该是编译时错误吗?然而 Eclipse 并没有抱怨……这是怎么回事?