---
name: "Convert::Base32"
section: "3pm"
platform: "linux"
package: "libconvert-base32-perl"
version: "0.06-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Convert::Base32"
---

# Convert::Base32(3pm)

Encoding and decoding of base32 strings

## NAME

Convert::Base32 - Encoding and decoding of base32 strings

## SYNOPSIS

```
  use Convert::Base32;
  $encoded = encode_base32("\x3a\x27\x0f\x93");
  $decoded = decode_base32($encoded);
```

## DESCRIPTION

This module provides functions to convert string from / to Base32 encoding, specified in RACE internet-draft. The Base32 encoding is designed to encode non-ASCII characters in DNS-compatible host name parts.

See http://tools.ietf.org/html/draft-ietf-idn-race-03 for more details.

## FUNCTIONS

Following functions are provided; like `"MIME::Base64"`, they are in **@EXPORT** array. See Exporter for details.

- encode\_base32($str)

  Encode data by calling the **encode\_base32()** function. This function takes a string of bytes to encode and returns the encoded base32 string.

- decode\_base32($str)

  Decode a base32 string by calling the **decode\_base32()** function. This function takes a string to decode and returns the decoded string.

  This function might throw the exceptions such as "Data contains non-base32 characters", "Length of data invalid" and "Padding bits at the end of output buffer are not all zero".

  decode\_base32 differs from the specification in that upper case letters are treated as their lower case equivalent rather than producing an error.

## AUTHOR

Tatsuhiko Miyagawa \<miyagawa@bulknews.net\>

Eric Brine \<ikegami@adaelis.com\>

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

## SEE ALSO

http://www.ietf.org/internet-drafts/draft-ietf-idn-race-03.txt, MIME::Base64, Convert::RACE.
