pyrit.prompt_converter.BinaryConverter#
- class BinaryConverter(*, bits_per_char: BitsPerChar = BitsPerChar.BITS_16, indices: List[int] | None = None, keywords: List[str] | None = None, proportion: float | None = None, regex: str | Pattern | None = None)[source]#
Bases:
WordLevelConverter
Transforms input text into its binary representation with configurable bits per character (8, 16, or 32).
- __init__(*, bits_per_char: BitsPerChar = BitsPerChar.BITS_16, indices: List[int] | None = None, keywords: List[str] | None = None, proportion: float | None = None, regex: str | Pattern | None = None)[source]#
Initializes the converter with the specified bits per character and selection parameters.
This class allows for selection of words to convert based on various criteria. Only one selection parameter may be provided at a time (indices, keywords, proportion, or regex). If no selection parameter is provided, all words will be converted.
- Parameters:
bits_per_char (BinaryConverter.BitsPerChar) – Number of bits to use for each character (8, 16, or 32). Default is 16 bits.
indices (Optional[List[int]]) – Specific indices of words to convert.
keywords (Optional[List[str]]) – Keywords to select words for conversion.
proportion (Optional[float]) – Proportion of randomly selected words to convert [0.0-1.0].
regex (Optional[Union[str, re.Pattern]]) – Regex pattern to match words for conversion.
Methods
__init__
(*[, bits_per_char, indices, ...])Initializes the converter with the specified bits per character and selection parameters.
convert_async
(*, prompt[, input_type])Converts the given prompt into the target format supported by the converter.
convert_tokens_async
(*, prompt[, ...])Converts substrings within a prompt that are enclosed by specified start and end tokens.
convert_word_async
(word)Converts each character in the word to its binary representation.
get_identifier
()Returns an identifier dictionary for the converter.
input_supported
(input_type)Checks if the input type is supported by the converter.
join_words
(words)Joins the converted words with the binary representation of a space.
output_supported
(output_type)Checks if the output type is supported by the converter.
validate_input
(prompt)Checks if
bits_per_char
is sufficient for the characters in the prompt.Attributes
supported_input_types
Returns a list of supported input types for the converter.
supported_output_types
Returns a list of supported output types for the converter.
- class BitsPerChar(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Bases:
Enum
The number of bits per character for binary conversion.
- BITS_16 = 16#
16 bits per character, suitable for Unicode characters.
- BITS_32 = 32#
32 bits per character, suitable for extended Unicode characters.
- BITS_8 = 8#
8 bits per character, suitable for ASCII characters.
- async convert_word_async(word: str) str [source]#
Converts each character in the word to its binary representation.