String Byte Length: Difference between revisions
Content added Content deleted
mNo edit summary |
m (Stupid case-sensitivity.) |
||
(33 intermediate revisions by 13 users not shown) | |||
Line 1: | Line 1: | ||
#REDIRECT [[String length]] |
|||
[http://cannotspell.ifrance.com/description/lib/offerta-natale/ offerta natale] [http://uo-ination.ifrance.com/lib/sweet-bitter/ sweet bitter simphony] [http://me4tateljnitsa.ifrance.com/data/www-benxua/ www benxua com] [http://lauashbu.ifrance.com/lib/perversioni-femminili/ perversioni femminili] [http://rielethuil.ifrance.com/description/lib/new-humanism.htm new humanism] [http://heyclassylady.ifrance.com/html/jewel-maya.htm jewel maya] [http://stasiia.ifrance.com/img/styles/elkhart/ elkhart] [http://me4tateljnitsa.ifrance.com/data/www-mans/ www mans edu eg] [http://lady-mosquito.ifrance.com/web/me-pones/ me pones sexi] [http://la-seras.ifrance.com/library/html/upper-river.htm upper river] [http://cannotspell.ifrance.com/description/lib/rex-fi/ rex fi 22 fa] [http://butanexlove.ifrance.com/lib/eros-ramazotti.htm eros ramazotti testi canzoni] [http://zonkismusik.ifrance.com/img/styles/nokia-.htm nokia 6170 auricolare] [http://rielethuil.ifrance.com/description/lib/monopattino-elettrico.htm monopattino elettrico] [http://gmkamm.ifrance.com/view/new/hotel-villa.htm hotel villa svizzera] [http://lauashbu.ifrance.com/lib/copertina-dvd/ copertina dvd] [http://gmkamm.ifrance.com/view/new/prefisso-telefoni.htm prefisso telefoni] [http://bagrec.ifrance.com/lib/cartuccia-toner.htm cartuccia toner fotocopiatrice] [http://uo-ination.ifrance.com/lib/la-giungla/ la giungla del peccato] [http://epireial-h.ifrance.com/topic/copertina-film.htm copertina film] [http://orbzine.ifrance.com/images/small/nel-blu.htm nel blu dipinto] [http://gmkamm.ifrance.com/view/new/licenza-studenti.htm licenza studenti] [http://la-seras.ifrance.com/library/html/italiandreams.htm italiandreams] [http://heyclassylady.ifrance.com/html/the-allamerican.htm the allamerican rejects] [http://stasiia.ifrance.com/img/styles/aspirapolvere-black/ aspirapolvere black] [http://rielethuil.ifrance.com/description/lib/prairie-wind.htm prairie wind] [http://lauashbu.ifrance.com/lib/temi-argomentativi/ temi argomentativi] [http://last-shadow.ifrance.com/text/directory/catalogo-giochi/ catalogo giochi online] [http://cannotspell.ifrance.com/description/lib/otto-in/ otto in fuga] [http://lauashbu.ifrance.com/lib/testi-distillers/ testi distillers coral fang] [http://cannotspell.ifrance.com/description/lib/citta-di/ citta di lecce] [http://last-shadow.ifrance.com/text/directory/exhibition-strike/ exhibition strike] [http://lady-mosquito.ifrance.com/web/hotel-in/ hotel in zagreb] [http://cannotspell.ifrance.com/description/lib/passafilo/ passafilo] [http://pegasik.ifrance.com/html/poesie-sui/ poesie sui sposi] [http://zonkismusik.ifrance.com/img/styles/af-mm.htm af 85mm f 1 8] [http://gmkamm.ifrance.com/view/new/istituti-ortopedici.htm istituti ortopedici rizzoli bologna] [http://rielethuil.ifrance.com/description/lib/bmw-x.htm bmw x5] [http://fishing-gro.ifrance.com/html/novemberain/ novemberain] [http://ryandrablya.ifrance.com/lib/ascelle-pelose.htm ascelle pelose gratis] [http://pegasik.ifrance.com/html/acer-server/ acer server 1u] [http://heyclassylady.ifrance.com/html/legge.htm legge 401] [http://pegasik.ifrance.com/html/fotos-de/ fotos de stars] [http://last-shadow.ifrance.com/text/directory/gigabyte/ gigabyte 775] [http://stasiia.ifrance.com/img/styles/volkswagen-passat/ volkswagen passat ii] [http://fishing-gro.ifrance.com/html/hotel-della/ hotel della havana a cuba] [http://rielethuil.ifrance.com/description/lib/xp-upg.htm xp upg] [http://lauashbu.ifrance.com/lib/borgato/ borgato] [http://uo-ination.ifrance.com/lib/beta-alarm/ beta alarm] [http://cannotspell.ifrance.com/description/lib/acer-n/ acer n10] [http://stasiia.ifrance.com/img/styles/teatro-comunale/ teatro comunale di piacenza] [http://me4tateljnitsa.ifrance.com/data/un-video/ un video per evil genius] [http://la-seras.ifrance.com/library/html/tariffa-flat.htm tariffa flat] [http://epireial-h.ifrance.com/topic/tv-auto.htm tv auto] [http://uo-ination.ifrance.com/lib/centro-commerciale/ centro commerciale] [http://heyclassylady.ifrance.com/html/il-sapore.htm il sapore di un bacio] [http://la-seras.ifrance.com/library/html/creative-audigy.htm creative audigy 2] [http://zonkismusik.ifrance.com/img/styles/indian-sexy.htm indian sexy play] [http://lady-mosquito.ifrance.com/web/italian-celebrities/ italian celebrities faker] [http://ryandrablya.ifrance.com/lib/eternity-summer.htm eternity summer] [http://lauashbu.ifrance.com/lib/drunk-teen/ drunk teen] [http://fishing-gro.ifrance.com/html/regione-di/ regione di nocera superiore] [http://gmkamm.ifrance.com/view/new/motorola-d.htm motorola d 550] [http://me4tateljnitsa.ifrance.com/data/cardiofrequenzimetro-polso/ cardiofrequenzimetro polso] [http://stasiia.ifrance.com/img/styles/michele-viet/ michele viet video] [http://uo-ination.ifrance.com/lib/adidas/ adidas 45] [http://sherryfraser03.ifrance.com/web/pantigliate/ pantigliate] [http://orbzine.ifrance.com/images/small/mobile-asse.htm mobile asse da stiro] [http://fishing-gro.ifrance.com/html/caricaturas-pornos/ caricaturas pornos] [http://sherryfraser03.ifrance.com/web/what-the/ what the world] [http://lady-mosquito.ifrance.com/web/turismo-danimarca/ turismo danimarca] [http://sherryfraser03.ifrance.com/web/navigatori-michelin/ navigatori michelin] [http://butanexlove.ifrance.com/lib/stunts.htm stunts] [http://fishing-gro.ifrance.com/html/gay-attivi/ gay attivi] [http://stasiia.ifrance.com/img/styles/la-gang/ la gang che non sapeva sparare] [http://stasiia.ifrance.com/img/styles/lavori-italiani/ lavori italiani] [http://uo-ination.ifrance.com/lib/midi-file/ midi file karaoke] [http://orbzine.ifrance.com/images/small/spagna-ristorante.htm spagna ristorante] [http://bagrec.ifrance.com/lib/poesie-il.htm poesie il postino pablo neruda] [http://cannotspell.ifrance.com/description/lib/marsano/ marsano] [http://heyclassylady.ifrance.com/html/sterilizzatori-per.htm sterilizzatori per neonati] [http://pegasik.ifrance.com/html/rio-grande/ rio grande] [http://bagrec.ifrance.com/lib/hdd-.htm hdd 2 5 80gb] [http://fishing-gro.ifrance.com/html/lo-studio/ lo studio dell istinto] [http://lauashbu.ifrance.com/lib/goniometria/ goniometria] [http://epireial-h.ifrance.com/topic/sesso-hot.htm sesso hot] [http://stasiia.ifrance.com/img/styles/pablo-montero/ pablo montero canciones mp3 para bajar] [http://zonkismusik.ifrance.com/img/styles/liar-.htm liar bugiardo] [http://epireial-h.ifrance.com/topic/metal-gear.htm metal gear psp] [http://fishing-gro.ifrance.com/html/ragazzo-lione/ ragazzo lione] [http://epireial-h.ifrance.com/topic/stadium.htm stadium] [http://cannotspell.ifrance.com/description/lib/lampada-benq/ lampada benq] [http://sherryfraser03.ifrance.com/web/hotel-roccaraso/ hotel roccaraso] [http://gmkamm.ifrance.com/view/new/malattia-paget.htm malattia paget] [http://pegasik.ifrance.com/html/inculate-transex/ inculate transex] [http://lauashbu.ifrance.com/lib/www-fasola/ www fasola com] [http://lady-mosquito.ifrance.com/web/popolo-po/ popolo po] [http://sherryfraser03.ifrance.com/web/fire-ball/ fire ball] [http://lauashbu.ifrance.com/lib/lettore-mp/ lettore mp3 con radio philips] [http://pegasik.ifrance.com/html/sony-handycam/ sony handycam dcr dvd 202 e] [http://rielethuil.ifrance.com/description/lib/elenco-telefonico.htm elenco telefonico della provincia di cas] [http://lady-mosquito.ifrance.com/web/disgni-scarpe/ disgni scarpe] [http://lauashbu.ifrance.com/lib/break-biliard/ break biliard] [http://la-seras.ifrance.com/library/html/ati-sapphire.htm ati sapphire 9600 xt] [http://last-shadow.ifrance.com/text/directory/televisori-lcd/ televisori lcd 37 pollici] [http://bagrec.ifrance.com/lib/epson-lq.htm epson lq 2180] [http://fishing-gro.ifrance.com/html/i-love/ i love you baby] [http://orbzine.ifrance.com/images/small/sapphire-.htm sapphire 9550 se 128 mb] [http://uo-ination.ifrance.com/lib/palmari-navigazione/ palmari navigazione] [http://cannotspell.ifrance.com/description/lib/lartiglio-scomparso/ lartiglio scomparso] [http://gmkamm.ifrance.com/view/new/roby-e.htm roby e amy] [http://fishing-gro.ifrance.com/html/media-player/ media player 10] [http://stasiia.ifrance.com/img/styles/pulsado-trxhg/ pulsado trxhg] [http://sherryfraser03.ifrance.com/web/albergo-udine/ albergo udine] [http://uo-ination.ifrance.com/lib/kodex-/ kodex 2 proces] [http://me4tateljnitsa.ifrance.com/data/debo-el/ debo el cigala] [http://pegasik.ifrance.com/html/odiame-cristian/ odiame cristian castro] [http://gmkamm.ifrance.com/view/new/principato-di.htm principato di monaco] [http://lady-mosquito.ifrance.com/web/dork-tower/ dork tower] [http://last-shadow.ifrance.com/text/directory/lyr/ lyr] [http://epireial-h.ifrance.com/topic/brown-charles.htm brown charles brockden] [http://rielethuil.ifrance.com/description/lib/tirol.htm tirol] [http://sherryfraser03.ifrance.com/web/havana-delirio/ havana delirio] [http://uo-ination.ifrance.com/lib/noleggio-lungo/ noleggio lungo termine golf] [http://lauashbu.ifrance.com/lib/lavoro-salento/ lavoro salento] [http://heyclassylady.ifrance.com/html/xantia-break.htm xantia break] [http://sherryfraser03.ifrance.com/web/luigi-tenco/ luigi tenco ho capito che ti amo] [http://heyclassylady.ifrance.com/html/disco-samba.htm disco samba] [http://fishing-gro.ifrance.com/html/tracy-chapman/ tracy chapman video] [http://last-shadow.ifrance.com/text/directory/handset-manager/ handset manager panasonic gd] [http://last-shadow.ifrance.com/text/directory/spiami/ spiami] [http://epireial-h.ifrance.com/topic/dragostea-din.htm dragostea din] [http://rielethuil.ifrance.com/description/lib/porche-sporche.htm porche sporche] [http://fishing-gro.ifrance.com/html/vogue-sfilate/ vogue sfilate uomo 2005] [http://epireial-h.ifrance.com/topic/cattura-renato.htm cattura renato] [http://epireial-h.ifrance.com/topic/western-digital.htm western digital caviar 200gb] [http://zonkismusik.ifrance.com/img/styles/centorbi.htm centorbi] [http://lauashbu.ifrance.com/lib/traduzione-maroon/ traduzione maroon5] [http://la-seras.ifrance.com/library/html/trabattello.htm trabattello] [http://bagrec.ifrance.com/lib/recagni.htm recagni] [http://lauashbu.ifrance.com/lib/culle-picci/ culle picci] [http://zonkismusik.ifrance.com/img/styles/ginluca-grignani.htm ginluca grignani] [http://lady-mosquito.ifrance.com/web/oroscopo-amore/ oroscopo amore] [http://rielethuil.ifrance.com/description/lib/pearcing-sessuali.htm pearcing sessuali] [http://fishing-gro.ifrance.com/html/imbroglio/ imbroglio] [http://la-seras.ifrance.com/library/html/je-linex.htm je linex] [http://heyclassylady.ifrance.com/html/videoregistratore-lp.htm videoregistratore lp] [http://pegasik.ifrance.com/html/brytney-spears/ brytney spears nuda] [http://last-shadow.ifrance.com/text/directory/merrell-ventilator/ merrell ventilator] [http://rielethuil.ifrance.com/description/lib/canzone-telefilm.htm canzone telefilm roswell] [http://uo-ination.ifrance.com/lib/lassassino/ lassassino] [http://zonkismusik.ifrance.com/img/styles/sdram-sodimm.htm sdram sodimm pc133] [http://fishing-gro.ifrance.com/html/smaltitori/ smaltitori] [http://ryandrablya.ifrance.com/lib/acrobat.htm acrobat 5] [http://cannotspell.ifrance.com/description/lib/iguana-tango/ iguana tango] [http://uo-ination.ifrance.com/lib/ninetto-davoli/ ninetto davoli] [http://last-shadow.ifrance.com/text/directory/passarge-siegfried/ passarge siegfried] [http://bagrec.ifrance.com/lib/hogan-calzature.htm hogan calzature donna] [http://zonkismusik.ifrance.com/img/styles/stampante-cartuccia.htm stampante cartuccia ricaricabili] [http://fishing-gro.ifrance.com/html/grd-jvc/ grd jvc] [http://epireial-h.ifrance.com/topic/johnny-cash.htm johnny cash the man his world his music] [http://fishing-gro.ifrance.com/html/mondeo-ghia/ mondeo ghia v6] [http://pegasik.ifrance.com/html/peg-perego/ peg perego navy 4] [http://sherryfraser03.ifrance.com/web/schede-video/ schede video ati sapphire vivo] [http://bagrec.ifrance.com/lib/www-macbeth.htm www macbeth it] [http://lauashbu.ifrance.com/lib/rifles/ rifles] [http://sherryfraser03.ifrance.com/web/titoli-tesi/ titoli tesi fisioterapia] [http://bagrec.ifrance.com/lib/pagine-sexy.htm pagine sexy amatoriali] [http://last-shadow.ifrance.com/text/directory/tuffi-i/ tuffi i piscina] [http://heyclassylady.ifrance.com/html/wolf-s.htm wolf s rain] [http://bagrec.ifrance.com/lib/mind.htm mind] [http://orbzine.ifrance.com/images/small/plugins-video.htm plugins video] [http://ryandrablya.ifrance.com/lib/anpa.htm anpa] [http://pegasik.ifrance.com/html/nomi-giapponesi/ nomi giapponesi per tatuaggi] [http://me4tateljnitsa.ifrance.com/data/kristeva-samurai/ kristeva samurai] [http://fishing-gro.ifrance.com/html/fredly/ fredly] [http://zonkismusik.ifrance.com/img/styles/elisa-almeno.htm elisa almeno tu nell universo] [http://butanexlove.ifrance.com/lib/ji-ji.htm ji ji ji] [http://la-seras.ifrance.com/library/html/trav.htm trav] [http://la-seras.ifrance.com/library/html/idra-isola.htm idra (isola)] [http://la-seras.ifrance.com/library/html/calabozo.htm calabozo] [http://butanexlove.ifrance.com/lib/test-to.htm test to test] [http://orbzine.ifrance.com/images/small/hifi-portatile.htm hifi portatile] [http://stasiia.ifrance.com/img/styles/nuova-/ nuova 147 distinctive] [http://lauashbu.ifrance.com/lib/umberto-tozzi/ umberto tozzi canzoni] [http://lady-mosquito.ifrance.com/web/konica-e/ konica e50] [http://fishing-gro.ifrance.com/html/alfa-corse/ alfa corse] [http://heyclassylady.ifrance.com/html/dvbt-decoder.htm dvbt decoder] [http://uo-ination.ifrance.com/lib/gioco-cellulare/ gioco cellulare gratis] [http://sherryfraser03.ifrance.com/web/www-nobelbiocare/ www nobelbiocare com] [http://gmkamm.ifrance.com/view/new/gorle.htm gorle 2000] [http://stasiia.ifrance.com/img/styles/trust-md/ trust md] [http://pegasik.ifrance.com/html/www-rossocorsa/ www rossocorsa com] [http://stasiia.ifrance.com/img/styles/yo-se/ yo se que es mentira] [http://stasiia.ifrance.com/img/styles/comune-di/ comune di roana] [http://lady-mosquito.ifrance.com/web/fabbrica-cioccolato/ fabbrica cioccolato] [http://bagrec.ifrance.com/lib/universita-padova.htm universita padova] [http://gmkamm.ifrance.com/view/new/giornata-mondiale.htm giornata mondiale della menopausa] [http://butanexlove.ifrance.com/lib/jvc-everio.htm jvc everio gz mc200ex] [http://me4tateljnitsa.ifrance.com/data/splash-/ splash una sirena a manhattan] {{Template:split-review}} |
|||
{{task}} |
|||
In this task, the goal is to find the <em>byte</em> length of a string. This means encodings like [[UTF-8]] may need to be handled specially, as there is not necessarily a one-to-one relationship between bytes and characters, and some languages recognize this. |
|||
For character length, see [[String Character Length]]. |
|||
==[[4D]]== |
|||
[[Category:4D]] |
|||
$length:=Length("Hello, world!") |
|||
==[[ActionScript]]== |
|||
[[Category:ActionScript]] |
|||
myStrVar.length() |
|||
==[[Ada]]== |
|||
[[Category:Ada]] |
|||
'''Compiler:''' GCC 4.1.2 |
|||
Str : String := "Hello World"; |
|||
Length : constant Natural := Str'Length; |
|||
==[[AppleScript]]== |
|||
[[Category:AppleScript]] |
|||
count of "Hello World" |
|||
==[[AWK]]== |
|||
[[Category:AWK]] |
|||
From within any code block: |
|||
w=length("Hello, world!") # static string example |
|||
x=length("Hello," s " world!") # dynamic string example |
|||
y=length($1) # input field example |
|||
z=length(s) # variable name example |
|||
Ad hoc program from command line: |
|||
echo "Hello, world!" | awk '{print length($0)}' |
|||
From executable script: (prints for every line arriving on stdin) |
|||
#!/usr/bin/awk -f |
|||
{print"The length of this line is "length($0)} |
|||
==[[C]]== |
|||
[[Category:C]] |
|||
'''Standard:''' [[ANSI C]] (AKA [[C89]]): |
|||
'''Compiler:''' GCC 3.3.3 |
|||
#include <string.h> |
|||
int main(void) |
|||
{ |
|||
const char *string = "Hello, world!"; |
|||
size_t length = strlen(string); |
|||
return 0; |
|||
} |
|||
or by hand: |
|||
int main(void) |
|||
{ |
|||
const char *string = "Hello, world!"; |
|||
size_t length = 0; |
|||
char *p = (char *) string; |
|||
while (*p != '\0') length ; |
|||
return 0; |
|||
} |
|||
or (for arrays of char only) |
|||
#include <stdlib.h> |
|||
int main(void) |
|||
{ |
|||
char const s[] = "Hello, world!"; |
|||
size_t length = sizeof s - 1; |
|||
return 0; |
|||
} |
|||
==[[C plus plus|C ]]== |
|||
[[Category:C plus plus|C ]] |
|||
'''Standard:''' [[ISO C plus plus|ISO C ]] (AKA [[C plus plus 98|C 98]]): |
|||
'''Compiler:''' g 4.0.2 |
|||
#include <string> // note: '''not''' <string.h> |
|||
int main() |
|||
{ |
|||
std::string s = "Hello, world!"; |
|||
std::string::size_type length = s.length(); // option 1: In Characters/Bytes |
|||
std::string::size_type size = s.size(); // option 2: In Characters/Bytes |
|||
// In bytes same as above since sizeof(char) == 1 |
|||
std::string::size_type bytes = s.length() * sizeof(std::string::value_type); |
|||
} |
|||
For wide character strings: |
|||
#include <string> |
|||
int main() |
|||
{ |
|||
std::wstring s = L"\u304A\u306F\u3088\u3046"; |
|||
std::wstring::size_type length = s.length() * sizeof(std::wstring::value_type); // in bytes |
|||
} |
|||
==[[C sharp|C#]]== |
|||
[[Category:C sharp|C#]] |
|||
'''Platform:''' [[.NET]] |
|||
'''Language Version:''' 1.0 |
|||
string s = "Hello, world!"; |
|||
int clength = s.Length; // In characters |
|||
int blength = System.Text.Encoding.GetBytes(s).length; // In Bytes. |
|||
==[[Clean]]== |
|||
[[Category:Clean]] |
|||
Clean Strings are unboxed arrays of characters. Characters are always a single byte. The function size returns the number of elements in an array. |
|||
import StdEnv |
|||
strlen :: String -> Int |
|||
strlen string = size string |
|||
Start = strlen "Hello, world!" |
|||
==[[ColdFusion]]== |
|||
[[Category:ColdFusion]] |
|||
#len("Hello World")# |
|||
==[[Common Lisp]]== |
|||
[[Category:Common Lisp]] |
|||
(length "Hello World") |
|||
==[[Component Pascal]]== |
|||
[[Category:Component Pascal]] |
|||
LEN("Hello, World!") |
|||
==[[Forth]]== |
|||
[[Category:Forth]] |
|||
'''Interpreter:''' ANS Forth |
|||
Strings in Forth come in two forms, neither of which are the null-terminated form commonly used in the C standard library. |
|||
===Counted string=== |
|||
A counted string is a single pointer to a short string in memory. The string's first byte is the count of the number of characters in the string. This is how symbols are stored in a Forth dictionary. |
|||
CREATE s ," Hello world" \ create string "s" |
|||
s C@ ( -- length=11 ) |
|||
===Stack string=== |
|||
A string on the stack is represented by a pair of cells: the address of the string data and the length of the string data (in characters). The word '''COUNT''' converts a counted string into a stack string. The STRING utility wordset of ANS Forth works on these addr-len pairs. This representation has the advantages of not requiring null-termination, easy representation of substrings, and not being limited to 255 characters. |
|||
S" string" ( addr len) |
|||
DUP . \ 6 |
|||
==[[Haskell]]== |
|||
[[Category:Haskell]] |
|||
'''Interpreter:''' [[GHC | GHCi]] 6.6, [[Hugs]] |
|||
'''Compiler:''' [[GHC]] 6.6 |
|||
strlen = length "Hello, world!" |
|||
==[[IDL]]== |
|||
[[Category:IDL]] |
|||
'''Compiler:''' any IDL compiler should do |
|||
length = strlen("Hello, world!") |
|||
==[[Java]]== |
|||
[[Category:Java]] |
|||
Java encodes strings in UTF-16, which represents each character with one or two 16-bit values. The length method of String objects returns the number of 16-bit values used to encode a string, so the number of bytes can be determined by doubling that number. |
|||
String s = "Hello, world!"; |
|||
int byteCount = s.length() * 2; |
|||
An other way to know the byte length of a string is to explicitly specify the charset we desire. |
|||
String s = "Hello, world!"; |
|||
int byteCountUTF16 = s.getByte("UTF-16").length; |
|||
int byteCountUTF8 = s.getByte("UTF-8").length; |
|||
==[[JavaScript]]== |
|||
[[Category:JavaScript]] |
|||
JavaScript encodes strings in UTF-16, which represents each character with one or two 16-bit values. The length property of string objects gives the number of 16-bit values used to encode a string, so the number of bytes can be determined by doubling that number. |
|||
var s = "Hello, world!"; |
|||
var byteCount = s.length * 2; //26 |
|||
==[[JudoScript]]== |
|||
[[Category:JudoScript]] |
|||
//Store length of hello world in length and print it |
|||
. length = "Hello World".length(); |
|||
==[[Lua]]== |
|||
[[Category:Lua]] |
|||
'''Interpreter:''' [[Lua]] 5.0 or later. |
|||
string="Hello world" |
|||
length=#string |
|||
==[[mIRC Scripting Language]]== |
|||
[[Category:mIRC Scripting Language]] |
|||
'''Interpreter:''' [[mIRC]] |
|||
alias stringlength { echo -a Your Name is: $len($$?="Whats your name") letters long! } |
|||
==[[OCaml]]== |
|||
[[Category:OCaml]] |
|||
'''Interpreter'''/'''Compiler:''' [[Ocaml]] 3.09 |
|||
String.length "Hello world";; |
|||
==[[Perl]]== |
|||
[[Category:Perl]] |
|||
'''Interpreter:''' [[perl]] 5.8 |
|||
Strings in Perl consist of characters. Measuring the byte length therefore requires conversion to some binary representation (called encoding, both noun and verb). |
|||
use utf8; # so we can use literal characters like ☺ in source |
|||
use Encode qw(encode); |
|||
print length encode 'UTF-8', "Hello, world! ☺"; |
|||
# 17. The last character takes 3 bytes, the others 1 byte each. |
|||
print length encode 'UTF-16', "Hello, world! ☺"; |
|||
# 32. 2 bytes for the BOM, then 15 byte pairs for each character. |
|||
==[[PHP]]== |
|||
[[Category:PHP]] |
|||
$length = strlen('Hello, world!'); |
|||
==[[PL/SQL|PL/SQL]]== |
|||
[[Category:PL/SQL|PL/SQL]] |
|||
DECLARE |
|||
string VARCHAR2( 50 ) := 'Hello, world!'; |
|||
stringlength NUMBER; |
|||
BEGIN |
|||
stringlength := length( string ); |
|||
END; |
|||
==[[Pop11]]== |
|||
[[Category:Pop11]] |
|||
Currently Pop11 supports only strings consisting of 1-byte units. |
|||
Strings can carry arbitrary binary data, so user can for example |
|||
use UTF-8 (however builtin procedures will treat each byte as |
|||
a single character). The length function for strings returns |
|||
length in bytes: |
|||
lvars str = 'Hello, world!'; |
|||
lvars len = length(str); |
|||
==[[Python]]== |
|||
[[Category:Python]] |
|||
'''Interpreter:''' [[Python]] 2.4 |
|||
length = len("The length of this string will be determined") |
|||
==[[Ruby]]== |
|||
[[Category:Ruby]] |
|||
string="Hello world" |
|||
print string.length |
|||
or |
|||
puts "Hello World".length |
|||
==[[Scheme]]== |
|||
[[Category:Scheme]] |
|||
(string-length "Hello world") |
|||
==[[Smalltalk]]== |
|||
[[Category:Smalltalk]] |
|||
string := 'Hello, world!". |
|||
string size. |
|||
==[[Standard ML]]== |
|||
[[Category:Standard ML]] |
|||
'''Interpreter:''' [[Standard ML of New Jersey | SML/NJ]] 110.60, [[Moscow ML]] 2.01 (January 2004) |
|||
'''Compiler:''' [[MLton]] 20061107 |
|||
val strlen = size "Hello, world!"; |
|||
==[[Tcl]]== |
|||
[[Category:Tcl]] |
|||
Basic version: |
|||
string bytelength "Hello, world!" |
|||
or more elaborately, needs '''Interpreter''' any 8.X. Tested on 8.4.12. |
|||
fconfigure stdout -encoding utf-8; #So that Unicode string will print correctly |
|||
set s1 "hello, world" |
|||
set s2 "\u304A\u306F\u3088\u3046" |
|||
puts [format "length of \"%s\" in bytes is %d" $s1 [string bytelength $s1]] |
|||
puts [format "length of \"%s\" in bytes is %d" $s2 [string bytelength $s2]] |
|||
==[[Toka]]== |
|||
[[Category:Toka]] |
|||
This will include the terminating 0 in the length. |
|||
" hello, world!" count |
|||
==[[UNIX Shell]]== |
|||
[[Category:UNIX Shell]] |
|||
With external utilities: |
|||
'''Interpreter:''' any bourne shell |
|||
string='Hello, world!' |
|||
length=`echo -n "$string" | wc -c | tr -dc '0-9'` |
|||
echo $length # if you want it printed to the terminal |
|||
With SUSv3 parameter expansion modifier: |
|||
'''Interpreter:''' [[Almquist SHell]] (NetBSD 3.0), [[Bourne Again SHell]] 3.2, [[Korn SHell]] (5.2.14 99/07/13.2), [[Z SHell]] |
|||
string='Hello, world!' |
|||
length="${#string}" |
|||
echo $length # if you want it printed to the terminal |
|||
==[[VBScript]]== |
|||
[[Category:VBScript]] |
|||
LenB(string|varname) |
|||
Returns the number of bytes required to store a string in memory |
|||
Returns null if string|varname is null |
|||
==[[xTalk]]== |
|||
[[Category:xTalk]] |
|||
'''Interpreter:''' HyperCard |
|||
put the length of "Hello World" |
|||
or |
|||
put the number of characters in "Hello World" |
Latest revision as of 19:32, 19 January 2008
Redirect to: