标签: unicode

在 bash 上查看文件中所有字母的 unicode 代码点

我必须处理一个包含许多不可见控制字符的文件,例如“从右到左”或“零宽度非连接符”、与正常空间不同的空格等等,我在处理这个问题时遇到了麻烦。

现在,我想以某种方式逐个字母地查看给定文件中的所有字母(我想说“从左到右”,但不幸的是我正在处理从右到左的语言),作为 unicode 代码点,仅使用基本的 bash 工具(如vi, less, cat...)。有可能吗?

我知道我可以通过 以十六进制显示文件hexdump,但我必须重新计算代码点。我真的很想看到实际的 unicode 代码点,所以我可以用谷歌搜索它们并找出发生了什么。

编辑:我要补充一点,我不想将其转码为不同的编码(因为这是我在网上发现的)。我有 UTF8 格式的文件,这很好。我只想知道所有字母的确切代码点。

linux unicode

14
推荐指数
2
解决办法
5924
查看次数

在 Windows XP 中查找文件名中包含非 ASCII 字符的文件

有没有什么简单的方法可以在特定目录中查找文件名中包含任何非 ASCII(即 Unicode)字符的所有文件?我正在运行 Windows XP x64 SP2、NTFS 文件系统。

filesystems unicode file-search windows-xp

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

即使使用 EnableHexNumpad 也无法使用 Alt+ 输入 unicode 字符

我正在尝试通过使用输入 unicode 字符,Alt+####但我无法输入。

在注册表编辑器中,我添加了一个名为EnableHexNumpad1的新字符串值HKCU\Control Panel\Input Method并重新启动,但没有任何变化。发生了什么?

我正在使用 Window 8.1,在 Word、Notepad、Chrome、Visual Studio 上尝试过,什么都没有...

有什么线索吗?提前致谢!

编辑:

reg query "HKCU\Control Panel\Input Method"
Run Code Online (Sandbox Code Playgroud)

输出:

HKEY_CURRENT_USER\Control Panel\Input Method
Show Status        REG_SZ    1
EnableHexNumpad    REG_SZ    1

HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys
Run Code Online (Sandbox Code Playgroud)

编辑:这是PEBKAC!
我试图输入诸如 Alt+2075 (?) 之类的东西,而没有实际输入 plus!感谢@JosefZ 为我澄清了这一点。

keyboard typing unicode input windows-8.1

13
推荐指数
1
解决办法
5914
查看次数

Robocopy unilog 输出是胡言乱语

我试图在 Windows 7 中获取 robocopy 以生成 Unicode 日志,因为我有带有 Unicode 字符的文件。我使用的命令:

robocopy C:\mysource D:\mydest /mir /unilog:backup.log /tee
Run Code Online (Sandbox Code Playgroud)

文件副本有效并且屏幕输出正确,日志文件本身只包含胡言乱语。这与我使用命令提示符还是 Powershell 无关。

是什么赋予了?难道我做错了什么?

unicode robocopy

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

iconv 使用 BOM 生成 UTF-16

受此问题的启发,我可以使用该iconv命令生成带有 BOM 和指定字节序的 UTF-16 输出吗?

iconv命令将文本从一种编码转换为另一种编码。

例如:

echo hello | iconv -f ascii -t utf-16
Run Code Online (Sandbox Code Playgroud)

生成 UTF-16 表示"hello\n"

UTF-16 文件通常(但并非总是)以字节顺序标记 (BOM) 开头,它是 Unicode 字符的 2 字节编码U+FEFF。您可以通过检查前两个字节是FE FF或来确定带有 BOM 的 UTF-16 文件的字节序FF FE

iconv命令有几个用于生成 UTF-16 输出的选项:

$ iconv --list | grep -i utf-16
UTF-16//
UTF-16BE//
UTF-16LE//
Run Code Online (Sandbox Code Playgroud)

这个命令:

echo hello | iconv -f ascii -t utf-16be
Run Code Online (Sandbox Code Playgroud)

生成没有 BOM 的big-endian UTF-16 ;似乎假设如果您指定了字节顺序,则不需要在输出中指明它。同样,utf-16le生成没有 BOM …

unicode

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

不能再使用 Alt 代码插入 Unicode 字符

一段时间以来,我一直在多个应用程序中使用省略号 8230的Alt 代码。几天前它停止工作,并&显示而不是Alt+ 8+ 2+ 3+ 0(在小键盘上)。这发生在我的台式机和我的笔记本电脑上(我将它与 一起使用Fn)。两者都在代码页 850 的 64 位 Win-7 上运行,并且两者都可能最近更新了 Windows 和 Opera 12。

此输入法被禁用的原因可能是什么我该如何将其切换回来

顺便说一句,我刚刚发现Alt+ 0+ 1+ 3+3确实有效。我还发现Alt+ 8+ 2+ 3+0在 WordPad 或 MsWord10 中仍然有效,但在 Opera 和 Notepad++ 中均无效 - 在插入之前,字符代码被转换为模数 256。

opera windows-7 unicode alt-code

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

在命令行上检查/查找字符串中的 UTF-8/Unicode 字符的程序?

我刚刚意识到我的系统上有一个文件;它通常列出:

$ ls -la T?S?ER.txt 
-rw-r--r-- 1 user user 8 2013-04-11 18:07 T?S?ER.txt
$ cat T?S?ER.txt 
testing
Run Code Online (Sandbox Code Playgroud)

...然而,它使一个软件崩溃,并出现与 UTF-8/Unicode 相关的错误。我真的很困惑,因为我不知道为什么这样的文件有问题;最后我记得检查lswith的输出hexdump

$ ls T?S?ER.txt 
T?S?ER.txt
$ ls T?S?ER.txt | hexdump -C
00000000  54 ce 95 53 d0 a2 45 52  2e 74 78 74 0a           |T..S..ER.txt.|
0000000d
Run Code Online (Sandbox Code Playgroud)

...嗯,显然有一些字节之间/而不是一些字母,所以我猜这是一个 Unicode 编码问题。我可以尝试回显字节以查看打印的内容:

$ echo -e "\x54\xCE\x95\x53\xD0\xA2\x45\x52\x2E\x74\x78\x74"
T?S?ER.txt
Run Code Online (Sandbox Code Playgroud)

...但我仍然无法分辨这些是哪些 - 如果有 - Unicode 字符。

那么是否有一个命令行工具,我可以在终端上检查一个字符串,并获取有关它的字符的 Unicode 信息?

linux bash unicode command-line utf-8

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

查找任何字符的 Alt 代码

有时,我在互联网上找到的 alt 代码在我的 PC 上不起作用,例如 Pi alt 代码 ( Alt+ 227) 抛出 ? 不是 ?。
所以我需要在剪贴板(或文件或任何地方)中使用该字符并将其转换为与我的系统兼容的 Alt 代码。这可能吗?

windows-7 unicode character-encoding

11
推荐指数
2
解决办法
6万
查看次数

在 tmux 中显示 unicode?

这是没有 tmux 的 urxvt

没有 tmux

这是在配置中未启用 tmux 和 utf8 的 urxvt

启用 utf8 的 tmux

这是在配置中启用了 tmux 和 utf8 的 urxvt

未启用 utf8 的 tmux

如何使 tmux 的行为与初始结果一致?

terminal unicode urxvt tmux

11
推荐指数
1
解决办法
5558
查看次数

更改文本文件的 Firefox 默认编码

文本文件不包含字符编码信息,因此 Firefox 无法知道哪个是正确的。通过菜单ViewText encoding我可以选择合适的编码。我发现每次打开文本文件时我都会这样做,因为默认情况下它似乎总是设置为西方,但我的文本文件总是Unicode (UTF-8)。有没有办法将默认编码设置为 Unicode 而不是西方?

firefox encoding unicode textfiles

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