rune






runetochar, chartorune, runelen, fullrune, utflen, utfrune,
utfrrune, utfutf − rune/UTF conversion


#include <libc.h>
int  runetochar(char *s, Rune *r)

     int  chartorune(Rune *r, char *s)

     int  runelen(long r)

     int  fullrune(char *s, int n)

     int  utflen(char *s)

     char*     utfrune(char *s, long c)

     char*     utfrrune(char *s, long c)

     char*     utfutf(char *s1, char *s2)

These routines convert to and from a byte stream and runes.

     Runetochar copies one rune at r to at most UTFmax
characters starting at s and returns the number of
characters copied.  defined as 3 in is the maximum number of
bytes required to represent a rune.

     Chartorune copies at most UTFmax characters starting at
s to one rune at r and returns the number of characters
copied.  If the characters are not exactly in format,
chartorune will convert to 0x80 and return 1.

     Runelen returns the number of characters required to
convert r into

     Fullrune returns 1 if the string s of length n is long
enough to be decoded by chartorune and 0 otherwise.  This
does not guarantee that the string contains a legal
encoding.  This routine is used by programs that obtain
input a character at a time and need to know when a full
rune has arrived.

     The following routines are analogous to the
corresponding string routines with utf substituted for str
and rune substituted for

     Utflen returns the number of runes that are represented
by the string

     Utfrune returns a pointer to the first (last)
occurrence of rune c in the string or 0 if c does not occur
in the string.  The NUL character terminating a string is
considered to be part of the string









                             ‐2‐


     Utfutf returns a pointer to the first occurrence of the
string s2 as a substring of or 0 if there is none.  If s2 is
the null string, utfutf returns