---
name: "pcre_utf16_to_host_byte_order"
section: "3"
platform: "linux"
package: "pcre"
version: "8.45-5"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pcre_utf16_to_host_byte_order"
---

# pcre\_utf16\_to\_host\_byte\_order(3)

Perl-compatible regular expressions

## NAME

PCRE - Perl-compatible regular expressions

## SYNOPSIS

**#include \<pcre.h\>**

```
int pcre16_utf16_to_host_byte_order(PCRE_UCHAR16 *output,
     PCRE_SPTR16 input, int length, int *host_byte_order,
     int keep_boms);
```

## DESCRIPTION

This function, which exists only in the 16-bit library, converts a UTF-16 string to the correct order for the current host, taking account of any byte order marks (BOMs) within the string. Its arguments are:

  *output*           pointer to output buffer, may be the same as *input*\
   *input*            pointer to input buffer\
   *length*           number of 16-bit units in the input, or negative for\
                      a zero-terminated string\
   *host\_byte\_order*  a NULL value or a non-zero value pointed to means\
                      start in host byte order\
   *keep\_boms*        if non-zero, BOMs are copied to the output string

The result of the function is the number of 16-bit units placed into the output buffer, including the zero terminator if the string was zero-terminated.

If *host\_byte\_order* is not NULL, it is set to indicate the byte order that is current at the end of the string.

There is a complete description of the PCRE native API in the **pcreapi** page and a description of the POSIX API in the **pcreposix** page.
