1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jamesfancy-viyi-strings

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Viyi.Strings

  1. О библиотеке

Viyi.Strings — это библиотека, выделенная из Viyi.Util, которая специализируется на обработке строк. В настоящее время Viyi.Strings предоставляет кодирование и декодирование Base64 и шестнадцатеричное с помощью методов расширения, а также структуру кодирования и декодирования текста. В будущем будет доступно больше инструментов для работы со строками.

Viyi.Strings использует лицензию Mulan Permissive Software License, Version 2.

Поскольку область применения Viyi.Util была слишком обширной, слишком разбросанной, и некоторые инструменты уже имели лучшие альтернативы, было решено не обновлять непосредственно Viyi.Util, а разделить его:

  • Viyi.Strings используется для обработки строк (Viyi.Strings is a string toolkit).
  • Viyi.Bytes используется для обработки двоичных данных, находится в разработке (Viyi.Bytes is a binary data toolkit, in planning).
  1. Установка

Библиотека Viyi.Strings доступна на NuGet. Её можно установить в Visual Studio с помощью диспетчера пакетов NuGet или в PowerShell Manager через командную строку:

Install-Package Viyi.Strings

или с помощью .NET CLI:

dotnet add package Viyi.Strings

Также можно использовать другие способы установки, поддерживаемые NuGet.

  1. Исходный код

Исходный код размещён на gitee.com: Follow this link to source codes.

  1. Основные функции
  • На основе текста кодирование и декодирование

    • Кодирование и декодирование на основе текста основано на RFC-4648 (rfc-editor.org).
    • Base 64 кодирование и декодирование: EncodeBase64()/DecodeBase64(), включая Url-совместимое кодирование и декодирование: EncodeBase64Url() / DecodeBase64Url(), а также совместимое с Base 64 и Base 64 Url декодирование: DecodeBase64Compatible().
    • Шестнадцатеричное кодирование и декодирование (также известное как Base 16): EncodeBase16()/DecodeBase16().
    • Кодирование и декодирование Base 32: EncodeBase32()/DecodeBase32(), включая шестнадцатеричный вариант: EncodeBase32Hex() / DecodeBase32Hex().
    • Utf8 кодирование и декодирование: EncodeUtf8()/DecodeUtf8(), использующее System.Text.Encoding.UTF8.
    • Другие быстрые методы кодирования и декодирования с использованием Encoding: Encode()/Decode().
    • Управление различными кодировками и абстрактный интерфейс с помощью TextCodec.
  • Пустые строки и пробелы

    • Гибкое определение пустых строк и пробелов с помощью IsEmpty() и IsSpaces(), а также их противоположностей IsNotEmpty() и IsNotSpaces().
    • Гибкая установка значений по умолчанию для пустых строк и пробелов с помощью EmptyAs() и SpacesAs().
  • Преобразование стиля именования (преобразование верхнего и нижнего регистра)

    • Расширенные методы для преобразования CamelCase(), PascalCase(), KebabCase() и SnakeCase().
    • Преобразование по пользовательским правилам с помощью метода CaseTo(string).
    • Регистрация центра и интерфейс ICaseConverter для управления преобразованием стиля именования.
  • Перевод между целыми числами и строками в 2–36-ричную систему счисления

    • ToString(int radix).
    • ToInt32(int radix)/ToUInt32(int radix), ToInt64(int radix)/ToUInt64(int radix) и их варианты с префиксом «0x» для шестнадцатеричной системы счисления.
  • Анализ логических значений

    • Поддержка гибкого анализа логических значений, таких как on/off, yes/no и другие строки, с помощью серии методов ToBoolean().
    • Создание утверждений с помощью инструментального метода CreatePredicator().
  • Генерация и анализ числовых диапазонов

    • Возможность конвертировать диапазоны чисел, представленные в виде #1~10#,#25,#30~#35, в массивы int[] и наоборот, позволяя настраивать разделители, соединительные символы и префиксы меток.
    • Методы NumsRange.Parse() и new NumsRange().Parse() для анализа, а также NumsRange.ToRangeString() для генерации.
  • Человекочитаемое представление размера

    • Обработка целых чисел, представляющих размер хранилища (в байтах или битах), в удобочитаемом формате с единицами измерения, такими как K, M, G и т. д.
    • (ulong/long/uint/int).ToReadableSize(Action<Options>? config = null) с возможностью настройки параметров через Options или Action.
  • Разбор строк, обозначающих временные интервалы, например, 5m, 2hours и т. п.

    • Метод string.ToTimeSpan(string defaultUnit = "m") для анализа минут (m/minutes), часов (h/hours), секунд (s/seconds), дней (d/days), недель (w/weeks) и миллисекунд (ms/milliseconds). Численная часть в настоящее время поддерживает только целые числа.

5. Поддержка и вклад

Если у вас есть новые идеи или вы обнаружили ошибку, пожалуйста, создайте задачу в системе Issue. После обсуждения будет определено, следует ли добавить или изменить код, а также как это сделать.

Если вы хотите внести свой вклад в проект, пожалуйста, Fork этой библиотеки, создайте функциональную ветку / ветку ошибок / задач из ветки develop, внесите изменения на основе Issue и отправьте PR в ветку develop.

Большое спасибо за вашу поддержку и вклад!

[rfc_4648]: https://www.rfc-editor.org/rfc/inline-errata/rfc4648.html ""RFC-4648"" [argumentnullexception]: https://docs.microsoft.com/dotnet/api/system.argumentnullexception "ArgumentNullException" [argumentexception]: https://docs.microsoft.com/dotnet/api/system.argumentexception " ArgumentException" [notsupportedexception]: https://docs.microsoft.com/dotnet/api/system.notsupportedexception "NotSupportedException" [vs_nuget]: https://docs.microsoft.com/zh-cn/nuget/consume-packages/install-use-packages-visual-studio

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
C#
MulanPSL-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/jamesfancy-viyi-strings.git
git@api.gitlife.ru:oschina-mirror/jamesfancy-viyi-strings.git
oschina-mirror
jamesfancy-viyi-strings
jamesfancy-viyi-strings
main