RUNE man page on Plan9

Printed from http://www.polarhome.com/service/man/?qf=RUNE&af=0&tf=2&of=Plan9

RUNE(2)								       RUNE(2)

NAME
       runetochar,  chartorune,	 runelen, runenlen, fullrune, utfecpy, utflen,
       utfnlen, utfrune, utfrrune, utfutf - rune/UTF conversion

SYNOPSIS
       #include <u.h>
       #include <libc.h>

       int    runetochar(char *s, Rune *r)

       int    chartorune(Rune *r, char *s)

       int    runelen(long r)

       int    runenlen(Rune *r, int n)

       int    fullrune(char *s, int n)

       char*  utfecpy(char *s1, char *es1, char *s2)

       int    utflen(char *s)

       int    utfnlen(char *s, long n)

       char*  utfrune(char *s, long c)

       char*  utfrrune(char *s, long c)

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

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

       Runetochar copies one rune at r to at most UTFmax bytes starting	 at  s
       and  returns  the  number  of  bytes  copied.   UTFmax, defined as 4 in
       <libc.h>, is the maximum number of bytes required to represent a rune.

       Chartorune copies at most UTFmax bytes starting at s to one rune	 at  r
       and returns the number of bytes copied.	If the input is not exactly in
       UTF format, chartorune will convert to Runeerror (0xFFFD) and return 1.

       Runelen returns the number of bytes required to convert r into UTF.

       Runenlen returns the number of bytes required to convert	 the  n	 runes
       pointed to by r into UTF.

       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 UTF encoding.  This routine is used by pro‐
       grams that obtain input a byte at a time and need to know when  a  full
       rune has arrived.

       The  following  routines are analogous to the corresponding string rou‐
       tines with utf substituted for str and rune substituted for chr.

       Utfecpy copies UTF sequences until a null sequence has been copied, but
       writes  no  sequences  beyond  es1.  If any sequences are copied, s1 is
       terminated by a null sequence,  and  a  pointer	to  that  sequence  is
       returned.  Otherwise, the original s1 is returned.

       Utflen  returns	the  number  of	 runes that are represented by the UTF
       string s.

       Utfnlen returns the number of complete runes that  are  represented  by
       the first n bytes of UTF string s.  If the last few bytes of the string
       contain an incompletely coded rune, utfnlen will	 not  count  them;  in
       this  way,  it  differs	from  utflen, which includes every byte of the
       string.

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

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

SOURCE
       /sys/src/libc/port/rune.c
       /sys/src/libc/port/utfrune.c

SEE ALSO
       utf(6), tcs(1)

								       RUNE(2)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Plan9

List of man pages available for Plan9

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net