Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Какую версию Unicode использует Delphi 11.3 для методов System.Character, включая IsControl?

Delphi , Синтаксис , Шифрование

 

Введение

При работе с Unicode в Delphi разработчики часто используют методы из модуля System.Character, такие как IsControl, IsLetter, IsDigit и другие. Эти методы полагаются на таблицы символов Unicode, которые регулярно обновляются. В данной статье мы разберем, какую именно версию Unicode использует Delphi 11.3 для этих функций.

Определение версии Unicode в Delphi

В Delphi существует специальный метод, позволяющий узнать версию Unicode, на которой основаны таблицы в System.Character:

uses
  System.Character;

procedure ShowUnicodeVersion;
begin
  WriteLn('Unicode version used: ', TCharacter.UnicodeDataVersion);
end;

Этот метод возвращает строку с номером версии Unicode, используемой в текущей версии Delphi.

Версия Unicode в Delphi 11.3

Согласно информации из официальной документации и ответов сообщества:

  • Delphi 10.3 использует Unicode 12.1.0
  • Delphi 12.2 использует Unicode 15.0.0
  • Delphi 11.3, выпущенный между этими версиями, скорее всего использует Unicode 13.0 или 14.0

Точную версию можно определить, выполнив код выше в Delphi 11.3. Если у вас нет доступа к этой версии, можно предположить, что она использует Unicode 13.0 или 14.0, так как:

  1. Unicode 13.0 была выпущена в марте 2020
  2. Unicode 14.0 - в сентябре 2021
  3. Delphi 11.3 была выпущена в 2022 году

Как проверить контрольные символы

Метод IsControl проверяет, является ли символ управляющим (control character) согласно текущей версии Unicode. Вот пример использования:

procedure CheckControlCharacters;
var
  c: Char;
begin
  for c := #0 to #255 do
  begin
    if TCharacter.IsControl(c) then
      WriteLn(Format('Control character found: #%d', [Ord(c)]));
  end;
end;

Альтернативные решения

Если вам нужно работать с более новой версией Unicode, чем та, что поддерживается в Delphi 11.3, рассмотрите следующие варианты:

  1. Обновление Delphi до более новой версии (например, 12.2 с Unicode 15.0)
  2. Использование внешних библиотек, таких как ICU (International Components for Unicode)
  3. Ручная реализация проверок с актуальными таблицами Unicode

Пример использования ICU4PAS (обертка для ICU):

uses
  icu_globals, icu_ucd;

procedure CheckWithICU;
var
  props: PUCDProperties;
  c: UChar32;
begin
  c := Ord('A'); // пример символа
  props := ucd_getProperties(c, 0);
  if (props^.flags and UCHAR_CONTROL) <> 0 then
    WriteLn('Это управляющий символ');
end;

Заключение

Delphi 11.3 использует для методов System.Character одну из версий Unicode между 12.1 и 15.0 (скорее всего, 13.0 или 14.0). Точную версию можно узнать с помощью метода TCharacter.UnicodeDataVersion. Если вам требуется поддержка более новых версий Unicode, рассмотрите обновление Delphi или использование сторонних библиотек.

Понимание версии Unicode важно для корректной обработки текста, особенно при работе с международными приложениями и новыми символами, добавляемыми в стандарт.

Создано по материалам из источника по ссылке.

Delphi 11.3 использует Unicode версии, скорее всего, 13.0 или 14.0, для методов System.Character, включая IsControl.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Шифрование ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-08-14 15:14:35/0.0060958862304688/0