1

Существует ли какое-либо программное обеспечение, которое можно использовать для проверки всех видимых или невидимых символов в текстовом файле (такие символы, как спецификация, метка направления, перевод строки ...)?

Отображение имени Unicode символов также является полезной функцией.

Я хочу использовать такое приложение для анализа текстовых файлов, прежде чем анализировать их с помощью языка программирования.

5 ответов5

3

Хороший шестнадцатеричный редактор - это, вероятно, ваш лучший выбор Попробуйте FrHed (http://frhed.sourceforge.net/en/), если вы находитесь на Windows или благословите (http://home.gna.org/bless/) на Linux.

1

Может быть, это полезно, хотя ответ больше подходит для переполнения стека. Я создал небольшой парсер в Perl, который делает то, что вы хотите. Позор, здесь нет подсветки.

#!/usr/bin/perl
use strict; use warnings;
use feature qw(say);
use Data::Dumper;
use Unicode::String;
use utf8;

my $line_no = 1;
# Read stuff from the __DATA__ section as if it were a file,
# one line at a time
while (my $line = <DATA>) {
  # Create a Unicode::String object
  my $us = Unicode::String->new($line);

  # Iterate over the length of the string
  for (my $i = 0; $i < $us->length; $i++) {
    # Get the next char
    my $char = $us->substr($i, 1);
    # Output a description, one line per character
    printf "Line %i, column %i, 0x%x '%s' (%s)\n",
      $line_no,         # line number
      $i,               # colum number
      $char->ord,       # the ordinal of the char, in hex
      $char->as_string, # the stringified char (as in the input)
      $char->name;      # the glyph's name
  }
  # increment line number
  $line_no++;
}

# Below is the DATA section, which can be used as a file handle
__DATA__
This is some very strange unicode stuff right here:
٩(-̮̮̃-̃)۶ ٩(●̮̮̃•̃)۶ ٩(͡๏̯͡๏)۶ ٩(-̮̮̃•̃).

Давайте посмотрим, что это делает:

  • Чтение из дескриптора файла (раздел DATA может использоваться таким образом) построчно.
  • Создайте объект, который представляет строку Unicode из строки.
  • Итерация символов в этой строке
  • Имя выхода, номер и прочее о каждом символе

Это действительно очень просто. Может быть, вы можете адаптировать его к php, хотя я не знаю, есть ли удобная библиотека для имен.

Надеюсь, поможет.


Я поднял здесь смайлики: из каких символов Юникода состоят смайлики, такие как ٩ (• ̮̮̃ • ̃)۶?

1

UltraEdit - это многоплатформенный текстовый редактор с поддержкой Unicode и режимом Hex, который покажет вам шестнадцатеричные коды для всего, что находится рядом с символами, которые они генерируют. У него даже есть диалог поиска / замены в шестнадцатеричном формате (по крайней мере, в версии для Mac, который я сейчас использую). Это немного дорого, но это также делает много других вещей.

1

Отличный редактор BabelPad : когда вы помещаете курсор после символа, он показывает вам номер Unicode и имя Unicode. И он имеет встроенный просмотрщик информации Unicode, который показывает много свойств Unicode для символов. К сожалению, он обрабатывает спецификацию вместо ее отображения и интерпретирует символы разрыва строки вместо их отображения. Там может быть способ изменить это; его документация ... ну, не самая лучшая часть этого. Но он покажет невидимые элементы управления, такие как LRM, и может различать пробел и пробел и т.д.

1

Я бы порекомендовал Notepad++. Если вы перейдете под View-> Show Symbol и выберите "Show All Symbols", он покажет все невидимые символы с его именем. Например, он будет отображать новые строки как LF, CRLF или CR в зависимости от используемого вами формата новой строки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .