标签: non-ascii-characters

是吗 真的匹配任何角色?

我正在使用一个非常简单的sed脚本删除注释: sed -e 's/--.*$//'

它非常有用,直到评论中出现非ascii字符,例如:-- °.此行与正则表达式不匹配,未替换.

知道如何.真正匹配任何角色吗?


方案:

由于file它是iso8859文本,LANG因此在调用之前必须更改变量环境sed: LANG=iso8859 sed -e 's/--.*//' -

ascii sed non-ascii-characters

10
推荐指数
1
解决办法
1万
查看次数

圆圈中感叹号的字符代码是什么?

圆圈中感叹号的Unicode或Segoe UI符号(或其他字体)代码是什么?

在此输入图像描述

unicode symbols character non-ascii-characters

10
推荐指数
1
解决办法
1万
查看次数

isalpha()给出一个断言

我有一个C代码,我在ctype.h中使用标准库函数isalpha(),这是在Visual Studio 2010-Windows上.在下面的代码中,如果char c为'£',则isalpha调用将返回一个断言,如下面的快照所示:

在此输入图像描述

char c='£';

if(isalpha(c))
{
    printf ("character %c is alphabetic\n",c);

}
else
{
    printf ("character %c is NOT alphabetic\n",c);
}
Run Code Online (Sandbox Code Playgroud)

我可以看到这可能是因为8位ASCII没有这个字符.

那么如何处理ASCII表外的非ASCII字符呢?

我想要做的是,如果找到任何非字母字符(即使它包含不在8位ASCII表中的字符),我希望能够忽略它.

c non-ascii-characters

9
推荐指数
2
解决办法
3691
查看次数

将特殊字符(即Umlaut)转换为ascii中最可能的表示形式

我正在寻找一个方法或转换表,知道如何将变音符号和特殊字符转换为ascii中最可能的表示形式.

例:

Ärger = aerger
Bôhme = bohme
Søren = soeren
pjérà = pjera
Run Code Online (Sandbox Code Playgroud)

有人有什么想法?

更新:除了良好的接受答案,我还发现PECLs Normalizer非常有趣,虽然我不能使用它,因为服务器没有它并且没有为我更改.

如果此处的答案对您没有帮助,请查看此问题.

php ascii diacritics special-characters non-ascii-characters

8
推荐指数
1
解决办法
1万
查看次数

RFC 2388多部分POST的服务器实现与RFC 2047冲突?

我正在尝试在HTTP服务器上实现RFC 2388以支持多部分POST.

我正在专门针对content-disposition的"name"参数查看规范.

根据RFC 2388第3节,它规定:

最初在非ASCII字符集中的字段名称可以使用RFC 2047中描述的标准方法在"name"参数的值内编码.

我'听说'UA目前在表单控件名称上不支持RFC2047.他们只需以原始编码发送文本.(即如果表单控件的名称是使用UTF-8的日语,它将发送带有UTF-8的日文文本的多部分POST请求)

但是,为了"忠实",这有一天会得到解决.我更喜欢坚持使用RFC.

但问题来自RFC 2047本身.根据第5(3)条规定:

  • '编码字'不得出现在'addr-spec'的任何部分.
  • "编码字"绝不能出现在"引用字符串"中.
  • "编码字"不得在"已接收"标题字段中使用.
  • "编码字"不得用于MIME内容类型或内容处置字段的参数,也不得用于"评论"或"短语"中的任何结构化字段正文中.

冲突发生在第4点.鉴于'name'参数是"content-disposition"字段的一部分.我发现自己迷失了规范要求我们实现者做什么.

无论什么在"现实"中起作用/不起作用.我想问一下是否有人发现这也是冲突.

我发现自己也在问为什么RFC 2388仍然将RFC 2047称为"name"参数,但稍后只有几段后面将RFC 2231称为"filename"参数的编码规范.鉴于RFC 2047不能用于"参数值",这就是显然创建RFC 2231的原因.RFC 2388是否也没有更新,因此"name"参数使用RFC 2231.

最重要的是,我应该或者不应该为实现RFC 2388的功能而实施RFC 2047 AT ALL而烦恼吗?我是否还应该为RFC 2231打扰'filename'参数?有人知道任何UA目前是否使用RFC 2231来上传非ascii文件名?

java webserver mime http non-ascii-characters

8
推荐指数
1
解决办法
548
查看次数

Matlab中的Char(非ascii)

我有三个字符(大于127),我需要在二进制文件中写它.
出于某种原因,MATLAB和PHP/Python倾向于编写不同的字符.
对于Python,我有:

s = chr(143)+chr(136);
f = open('pythonOut.txt', 'wb');
f.write(s);
f.close();
Run Code Online (Sandbox Code Playgroud)

对于MATLAB,我有:

s = strcat(char(143),char(136));
fid = fopen('matlabOut.txt');
fwrite(fid, s, 'char');
fclose(fid);
Run Code Online (Sandbox Code Playgroud)

当我比较这两个文件时,它们是不同的.(使用diff和/或cmp命令).
更多,当我这样做

disp(char(hex2dec('88'))) //MATLAB prints 
print chr(0x88) //PYTHON prints ˆ
Run Code Online (Sandbox Code Playgroud)

两种产出都不同.我想让我的MATLAB代码与Python相同.MATLAB代码有什么问题?

matlab non-ascii-characters

8
推荐指数
1
解决办法
1889
查看次数

带有重音的PHP file_exists返回false

我有两个文件夹,FolderFolderé.第二个不能被PHP捕获.

这是我的测试:

<?php
        $dir = 'D:\wamp\www\test\data\Folder';
        var_dump(file_exists($dir)); // true

        $dir = 'D:\wamp\www\test\data\Folderé';
        var_dump(file_exists($dir)); // false
?>
Run Code Online (Sandbox Code Playgroud)

怎么解决?

php encoding function utf-8 non-ascii-characters

8
推荐指数
1
解决办法
3576
查看次数

格式化包含非ascii字符的列

所以我想对齐包含非ascii字符的字段.以下似乎不起作用:

for word1, word2 in [['hello', 'world'], ['?????', '??']]:
    print "{:<20} {:<20}".format(word1, word2)

hello                world
?????      ??
Run Code Online (Sandbox Code Playgroud)

有解决方案吗?

python unicode string-formatting non-ascii-characters python-2.7

8
推荐指数
1
解决办法
508
查看次数

是否真的PHP中的字符串文字只能编码为ASCII的兼容超集,如UTF-8或ISO-8859-1?

我从PHP手册的"字符串类型"页面的详细信息中看到以下文本:

鉴于PHP没有规定字符串的特定编码,人们可能想知道字符串文字是如何编码的.字符串将以脚本文件中编码的任何方式进行编码.因此,如果脚本是用ISO-8859-1编写的,则字符串将以ISO-8859-1编码,依此类推.但是,如果启用了Zend Multibyte,则不适用; 在这种情况下,脚本可以用任意编码(明确声明或检测到)编写,然后转换为某种内部编码,然后编码将用于字符串文字.请注意,对脚本的编码存在一些限制(或者在内部编码上,如果启用了Zend Multibyte) - 这几乎总是意味着此编码应该是ASCII的兼容超集,例如UTF-8或ISO-8859 -1.

所以我的疑问是,PHP中的字符串文字只能编码为ASCII的兼容超集编码,例如UTF-8ISO-8859-1,而不是编码不兼容的超集的ASCII

是否有可能以编码在PHP字符串文字在一些非ASCII兼容像编码UTF-16,UTF-32或一些其它这样的非ASCII兼容编码?如果是,那么在这种非ASCII兼容编码中编码的字符串文字是否可以与mb_string_*函数一起使用?如果不是,那是什么原因?

假设,Zend Multibyte已启用,我已将内部编码设置为兼容ASCII超集,例如UTF-8ISO-8859-1或其他一些非ASCII兼容编码.现在,我可以在脚本文件中声明不是ASCII 兼容超集的编码,例如UTF-16UTF-32吗?

如果是,那么在这种情况下编码字符串文字的编码是什么?如果不是,那是什么原因?

另外,如果启用了Zend Multibyte,请解释一下这个编码对于字符串文字是如何工作的?

如何启用Zend Multibyte?背后有什么把它的主要意图?当需要把它

如果你能用合适的例子清楚我的怀疑,那会更好.

谢谢.

php encoding ascii utf-8 non-ascii-characters

8
推荐指数
2
解决办法
437
查看次数

Powershell在文本文件中查找非ASCII字符

我正在尝试找到一种使用 Powershell 脚本执行以下操作的方法。

\n\n
    \n
  1. 对于文本文件中的每一行,检查该行是否包含非 ASCII 字符
  2. \n
  3. 如果行包含非 ASCII 字符,则输出到单独的文件
  4. \n
  5. 如果该行不包含非 ASCII 字符,则跳到下一行
  6. \n
\n\n

我所说的非 ASCII 字符是指非键盘字符,例如重音字符、其他语言的字符等。

\n\n

样本数据

\n\n
 - \xe5\xbc\xa0\xe4\xbc\x9f\n - \xe0\xae\x95\xe0\xaf\x81\xe0\xae\xb4\xe0\xae\xa8\xe0\xaf\x8d\xe0\xae\xa4\xe0\xaf\x88\xe0\xae\x95\xe0\xae\xb3\xe0\xaf\x81\xe0\xae\x95\xe0\xaf\x8d\xe0\xae\x95\xe0\xae\xbe\xe0\xae\xa9 \xe0\xae\xaa\xe0\xaf\x86\xe0\xae\xaf\xe0\xae\xb0\xe0\xaf\x8d\xe0\xae\x95\xe0\xae\xb3\xe0\xaf\x8d\n - \xe6\x97\xa5\xe6\x9c\xac\xe4\xba\xba\xe3\x81\xae\xe6\xb0\x8f\xe5\x90\x8d\n - Full Name\n - L\xc3\xa9na R\xc3\xa9mi\n
Run Code Online (Sandbox Code Playgroud)\n\n

输出数据

\n\n
 - \xe5\xbc\xa0\xe4\xbc\x9f\n - \xe0\xae\x95\xe0\xaf\x81\xe0\xae\xb4\xe0\xae\xa8\xe0\xaf\x8d\xe0\xae\xa4\xe0\xaf\x88\xe0\xae\x95\xe0\xae\xb3\xe0\xaf\x81\xe0\xae\x95\xe0\xaf\x8d\xe0\xae\x95\xe0\xae\xbe\xe0\xae\xa9 \xe0\xae\xaa\xe0\xaf\x86\xe0\xae\xaf\xe0\xae\xb0\xe0\xaf\x8d\xe0\xae\x95\xe0\xae\xb3\xe0\xaf\x8d\n - \xe6\x97\xa5\xe6\x9c\xac\xe4\xba\xba\xe3\x81\xae\xe6\xb0\x8f\xe5\x90\x8d\n - L\xc3\xa9na R\xc3\xa9mi\n
Run Code Online (Sandbox Code Playgroud)\n\n

我在其他线程中发现了正则表达式来删除非 ASCII 字符,但我似乎无法使其工作。

\n\n

请帮忙!

\n\n

** 编辑 **\n感谢大家的帮助!我已经成功地用下面的脚本做了我想做的事情。

\n\n
$nonASCII = "[^\\x00-\\x7F]"\nforeach ($_ in [System.IO.File]::ReadLines($source)){\n    if ($_ -cmatch $nonASCII){\n        write-output $_ | out-File $output -append        \n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

powershell non-ascii-characters

8
推荐指数
2
解决办法
1万
查看次数