---
name: "Sisimai::String"
section: "3pm"
platform: "linux"
package: "libsisimai-perl"
version: "5.3.0-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Sisimai::String"
---

# Sisimai::String(3pm)

String related class

## NAME

Sisimai::String - String related class

## SYNOPSIS

```
    use Sisimai::String;
    my $s = 'envelope-sender@example.jp';
    my $r = 'envelope-recipient@example.org';
    my $t = time();
    print Sisimai::String->token($s, $r, $t);  # 2d635de42a44c54b291dda00a93ac27b
    print Sisimai::String->is_8bit(\'猫');     # 1
    print Sisimai::String->sweep(' neko cat ');# 'neko cat'
    print Sisimai::String->to_utf8('^[$BG-^[(B', 'iso-2022-jp');  # 猫
    print Sisimai::String->to_plain('<html>neko</html>');   # neko
```

## DESCRIPTION

`"Sisimai::String"` provide utilities for dealing various strings

## CLASS METHODS

### "token(sender, recipient)"

`token()` method generates a `"token"`: an unique string generated by the envelope sender address and the envelope recipient address.

```
    my $s = 'envelope-sender@example.jp';
    my $r = 'envelope-recipient@example.org';
    print Sisimai::String->token($s, $r);    # 2d635de42a44c54b291dda00a93ac27b
```

### "is\_8bit(Reference to String)"

`is_8bit()` method checks the argument include any 8bit character or not.

```
    print Sisimai::String->is_8bit(\'cat');  # 0;
    print Sisimai::String->is_8bit(\'ねこ'); # 1;
```

### "sweep(String)"

`sweep()` method clean the argument string up: remove trailing spaces, squeeze spaces.

```
    print Sisimai::String->sweep(' cat neko ');  # 'cat neko';
    print Sisimai::String->sweep(' nyaa   !!');  # 'nyaa !!';
```

`"aligned"` method checks if each element of the 2nd argument is aligned in the 1st argument or not.

```
    my $v = 'Final-Recipient: rfc822; <nekochan@example.jp>';
    print Sisimai::String->aligned(\$v, ['rfc822', '<', '@', '>']);  # 1
    print Sisimai::String->aligned(\$v, [' <', '@', 'rfc822']);      # 0
    print Sisimai::String->aligned(\$v, ['example', '@', 'neko']);   # 0
```

### "to\_plain(Reference to String, \[Loose Check\])"

`"to_plain"` method converts given string as an HTML to the plain text.

```
    my $v = '<html>neko</html>';
    print Sisimai::String->to_plain($v);    # neko
```

### "to\_utf8(Reference to String, \[Encoding\])"

`"to_utf8"` method converts given string to UTF-8.

```
    my $v = '^[$BG-^[(B';   # ISO-2022-JP
    print Sisimai::String->to_utf8($v, 'iso-2022-jp');  # 猫
```

## AUTHOR

azumakuniyuki

## COPYRIGHT

Copyright (C) 2014-2016,2018,2019,2021-2024 azumakuniyuki, All rights reserved.

## LICENSE

This software is distributed under The BSD 2-Clause License.
