String Byte Length: Difference between revisions

From Rosetta Code
Content added Content deleted
mNo edit summary
m (Stupid case-sensitivity.)
 
(39 intermediate revisions by 13 users not shown)
Line 1: Line 1:
#REDIRECT [[String length]]
[http://trouble166.110mb.com/o-zone.htm o zone mi] [http://olikka.110mb.com/library/pppp.htm pppp] [http://trouble166.110mb.com/hyundai-coup.htm hyundai coup 16v 16 fx max] [http://book-wench.110mb.com/text/delchi-carrier/ delchi carrier condizionatori] [http://stitchesnglue.110mb.com/ora-x.htm ora x attacco al giappone] [http://book-wench.110mb.com/text/holz/ holz] [http://mouse-zae.110mb.com/tn-casalinghi.htm tn casalinghi snc] [http://nationavce.110mb.com/view/pitching-put.htm pitching put golf] [http://trouble166.110mb.com/senti-come.htm senti come puzzi] [http://sneezingpops.110mb.com/ipod-nano/ ipod nano 2 gb] [http://gekijuls.110mb.com/l-evoluzione/ l evoluzione dell uomo] [http://lazythoughts.110mb.com/lib/dream-system/ dream system] [http://ultra-creator.110mb.com/articles/monster-allergy.htm monster allergy] [http://trene-von-anty.110mb.com/description/telecamere-digitali.htm telecamere digitali hitachi] [http://slavkamolot.110mb.com/library/gta-viceciti/ gta viceciti] [http://dialed.110mb.com/small/wp-associated/ wp associated srl] [http://slavkamolot.110mb.com/library/helena-swedin/ helena swedin] [http://unremig.110mb.com/www-annuncitelefonici/ www annuncitelefonici com] [http://some-omeelse.110mb.com/data/mustek-mp.htm mustek mp3 40 gb] [http://sneezingpops.110mb.com/split-mono/ split mono] [http://unremig.110mb.com/divani-per/ divani per pub] [http://nationavce.110mb.com/view/krawczyk-bartosiewicz.htm krawczyk bartosiewicz trudno tak mp3] [http://olikka.110mb.com/library/fucili-sub.htm fucili sub] [http://stitchesnglue.110mb.com/tvputas.htm tvputas] [http://trene-von-anty.110mb.com/description/km-.htm km 0 focus] [http://stitchesnglue.110mb.com/decapitazione-bulgaro.htm decapitazione bulgaro video] [http://some-omeelse.110mb.com/data/dati.htm dati] [http://funk-mastah-ion.110mb.com/data/profumi-eternity.htm profumi eternity men] [http://yeeden.110mb.com/data/pollein/ pollein] [http://some-omeelse.110mb.com/data/x-aiw.htm x600 aiw] [http://funk-mastah-ion.110mb.com/data/cartuccia-ink.htm cartuccia ink jet stampante] [http://some-omeelse.110mb.com/data/sblocco-rete.htm sblocco rete nece 616] [http://forever-your.110mb.com/data/trattieni-il.htm trattieni il respiro] [http://book-wench.110mb.com/text/creme-per/ creme per il corpo] [http://book-wench.110mb.com/text/edintorni/ edintorni] [http://trene-von-anty.110mb.com/description/cat-e.htm cat e dog] [http://unremig.110mb.com/base-amandoti/ base amandoti gianna nannini] [http://blue-olusha.110mb.com/library/musica-da/ musica da discoteca 2004] [http://unremig.110mb.com/truetones/ truetones] [http://yeeden.110mb.com/data/canon-eos/ canon eos 350d efs 1855 ii] [http://sneezingpops.110mb.com/hotel-maglie/ hotel maglie] [http://nationavce.110mb.com/view/canon-ef.htm canon ef 70200 2 8 l usm] [http://funk-mastah-ion.110mb.com/data/seca-cfg.htm seca2 cfg] [http://book-wench.110mb.com/text/naghmeh/ naghmeh] [http://gekijuls.110mb.com/immagini-deni/ immagini deni grossi] [http://dialed.110mb.com/small/no-la/ no la folle gloria del comando] [http://slavkamolot.110mb.com/library/delta-med/ delta med srl] [http://sneezingpops.110mb.com/fino-/ fino 70 s] [http://lazythoughts.110mb.com/lib/voip-wifi/ voip wifi] [http://book-wench.110mb.com/text/piallatrice/ piallatrice] [http://sister-sunshine.110mb.com/html/lettore-dvd/ lettore dvd schermo integrato] [http://gekijuls.110mb.com/corsi-per/ corsi per bag design] [http://sneezingpops.110mb.com/codice-sblocco/ codice sblocco nec e616v] [http://ultra-creator.110mb.com/articles/star-wars.htm star wars] [http://slavkamolot.110mb.com/library/ibox-it/ ibox it mms] [http://unremig.110mb.com/cometa-snc/ cometa snc] [http://sister-sunshine.110mb.com/html/baby-queen/ baby queen] [http://trouble166.110mb.com/rsmmcdv.htm rsmmcdv 512] [http://forever-your.110mb.com/data/masterizzatore-combo.htm masterizzatore combo] [http://trouble166.110mb.com/hp-dvea.htm hp dv1356ea pavillion] [http://sneezingpops.110mb.com/aldo-annunziata/ aldo annunziata srl] [http://sneezingpops.110mb.com/palloni-di/ palloni di calio] [http://unremig.110mb.com/enanitos/ enanitos] [http://unremig.110mb.com/microsoft-office/ microsoft office sbe] [http://gekijuls.110mb.com/qmov-en/ qmov en videos] [http://yeeden.110mb.com/data/desktop-amd/ desktop amd athlon 64 computer] [http://stitchesnglue.110mb.com/cantantes-italianos.htm cantantes italianos] [http://trene-von-anty.110mb.com/description/sreca-song.htm sreca song ki] [http://yeeden.110mb.com/data/plasma-/ plasma 50 pollici] [http://book-wench.110mb.com/text/cyzone-com/ cyzone com] [http://sister-sunshine.110mb.com/html/www-solidarieta/ www solidarieta it] [http://ultra-creator.110mb.com/articles/madre-e.htm madre e figlio] [http://trene-von-anty.110mb.com/description/nuova-mercedes.htm nuova mercedes classe c diesel auto] [http://olikka.110mb.com/library/free-porn.htm free porn site] [http://mouse-zae.110mb.com/reflex-foto.htm reflex foto nikon] [http://stitchesnglue.110mb.com/ritter-hellmut.htm ritter hellmut] [http://slavkamolot.110mb.com/library/chatellerault/ chatellerault] [http://blue-olusha.110mb.com/library/van-van/ van van de cuba] [http://slavkamolot.110mb.com/library/video-grande/ video grande fratello 1] [http://sister-sunshine.110mb.com/html/ixus-/ ixus 700 batterie canon per foto e video] [http://ultra-creator.110mb.com/articles/escape-the.htm escape the detention] [http://dialed.110mb.com/small/speedy-et/ speedy et lumidee sientelo] [http://some-omeelse.110mb.com/data/casse-z.htm casse z3] [http://book-wench.110mb.com/text/golden-tulip/ golden tulip hotel inntel amsterdam] [http://funk-mastah-ion.110mb.com/data/cani-piccola.htm cani piccola taglia] [http://sister-sunshine.110mb.com/html/asiago-vicenza/ asiago vicenza casa affitto vacanza] [http://stitchesnglue.110mb.com/www-amg.htm www amg it] [http://funk-mastah-ion.110mb.com/data/compil-hot.htm compil hot party summer 2004] [http://trouble166.110mb.com/www-studiocasa.htm www studiocasa it] [http://funk-mastah-ion.110mb.com/data/frizioni.htm frizioni] [http://sneezingpops.110mb.com/maccchine-rally/ maccchine rally] [http://sneezingpops.110mb.com/campania-office/ campania office] [http://dialed.110mb.com/small/tubi-di/ tubi di rame] [http://sister-sunshine.110mb.com/html/garmin-usb/ garmin usb] [http://slavkamolot.110mb.com/library/provveditorato-studi/ provveditorato studi ancona] [http://ultra-creator.110mb.com/articles/in-.htm in 2 giocatori] [http://ultra-creator.110mb.com/articles/erasmus.htm erasmus] [http://nationavce.110mb.com/view/www-comune.htm www comune ponsacco it] [http://nationavce.110mb.com/view/recetas-de.htm recetas de comidas] [http://ultra-creator.110mb.com/articles/lmax.htm lmax] [http://trene-von-anty.110mb.com/description/wwwariafrittait.htm wwwariafrittait] [http://trouble166.110mb.com/porno-poker.htm porno poker per nokia 6600] [http://sister-sunshine.110mb.com/html/ufficio-trezzano/ ufficio trezzano naviglio] [http://book-wench.110mb.com/text/macchine-digitali/ macchine digitali acer] [http://trene-von-anty.110mb.com/description/immagini-calendari.htm immagini calendari] [http://gekijuls.110mb.com/asti-carta/ asti carta] [http://trene-von-anty.110mb.com/description/nike-air.htm nike air max donna] [http://some-omeelse.110mb.com/data/mappa-stradale.htm mappa stradale dublino] [http://slavkamolot.110mb.com/library/stampanti-hp/ stampanti hp multifunzione] [http://trene-von-anty.110mb.com/description/hot-parade.htm hot parade summer 2004] [http://blue-olusha.110mb.com/library/www-lun/ www lun com] [http://some-omeelse.110mb.com/data/mickael-jackson.htm mickael jackson foto 2004] [http://dialed.110mb.com/small/asus-ane/ asus a8ne] [http://forever-your.110mb.com/data/anna-gaddes.htm anna gaddes bimbi] [http://ultra-creator.110mb.com/articles/settore-giovanile.htm settore giovanile esordienti] [http://slavkamolot.110mb.com/library/dizionario-medico/ dizionario medico] [http://sneezingpops.110mb.com/www-vodaphone/ www vodaphone it] [http://mouse-zae.110mb.com/la-freccia.htm la freccia sulla croce] [http://unremig.110mb.com/dragosta-din/ dragosta din tei haiducci] [http://book-wench.110mb.com/text/elmira/ elmira] [http://lazythoughts.110mb.com/lib/danilo-montero/ danilo montero] [http://ultra-creator.110mb.com/articles/ultimo-cd.htm ultimo cd tiziano ferro] [http://mouse-zae.110mb.com/x-pro.htm x600 pro] [http://book-wench.110mb.com/text/carisma/ carisma] [http://nationavce.110mb.com/view/registratore-professionale.htm registratore professionale] [http://slavkamolot.110mb.com/library/router-wireless/ router wireless adsl con firewall] [http://slavkamolot.110mb.com/library/nokia-/ nokia 6680 imaging smartphone] [http://trene-von-anty.110mb.com/description/bikinis-picture.htm bikinis picture] [http://trouble166.110mb.com/gioco-orsi.htm gioco orsi] [http://trene-von-anty.110mb.com/description/real-amateur.htm real amateur] [http://gekijuls.110mb.com/yopal/ yopal] [http://nationavce.110mb.com/view/racconti-animalsex.htm racconti animalsex] [http://mouse-zae.110mb.com/olimpus-e.htm olimpus e 10] [http://book-wench.110mb.com/text/aminoacidi/ aminoacidi] [http://sister-sunshine.110mb.com/html/combatimenti/ combatimenti] [http://unremig.110mb.com/imetec-scope/ imetec scope elettriche] [http://trene-von-anty.110mb.com/description/edit-pif.htm edit pif] [http://stitchesnglue.110mb.com/hillsong-lyrics.htm hillsong lyrics] [http://yeeden.110mb.com/data/israele-ristorante/ israele ristorante] [http://ultra-creator.110mb.com/articles/campeggio-tavolo.htm campeggio tavolo] [http://some-omeelse.110mb.com/data/ritorno-al.htm ritorno al futuro 2] [http://blue-olusha.110mb.com/library/nec-cell/ nec cell] [http://dialed.110mb.com/small/tiamat/ tiamat] [http://trene-von-anty.110mb.com/description/antonio-fiorano.htm antonio fiorano] [http://stitchesnglue.110mb.com/www-edelweiss.htm www edelweiss it] [http://sneezingpops.110mb.com/tu-solamente/ tu solamente tu] [http://gekijuls.110mb.com/michael-vieth/ michael vieth video] [http://sneezingpops.110mb.com/on-line/ on line journalism] [http://slavkamolot.110mb.com/library/www-shakespear/ www shakespear] [http://unremig.110mb.com/ricciardi-franco/ ricciardi franco] [http://yeeden.110mb.com/data/motivatori/ motivatori] [http://trene-von-anty.110mb.com/description/adattatore-usb.htm adattatore usb 2 0] [http://forever-your.110mb.com/data/pedron-nuda.htm pedron nuda] [http://stitchesnglue.110mb.com/ravvedimento-operoso.htm ravvedimento operoso] [http://ultra-creator.110mb.com/articles/sala-convegno.htm sala convegno] [http://forever-your.110mb.com/data/asus-pgd.htm asus p5gd1 pro bundle] [http://slavkamolot.110mb.com/library/musei-archeologici/ musei archeologici] [http://unremig.110mb.com/anna-e/ anna e luca] [http://sneezingpops.110mb.com/carmaghedon/ carmaghedon] [http://dialed.110mb.com/small/hard-disk/ hard disk interno 250] [http://sneezingpops.110mb.com/help-me/ help me] [http://sister-sunshine.110mb.com/html/eugenia-grandet/ eugenia grandet] [http://funk-mastah-ion.110mb.com/data/sha-ross.htm sha ross] [http://sister-sunshine.110mb.com/html/nelly-feat/ nelly feat kelly rowland] [http://slavkamolot.110mb.com/library/toner-lexmark/ toner lexmark e321 12a7400] [http://trouble166.110mb.com/sales-training.htm sales training] [http://some-omeelse.110mb.com/data/reflex-digitali.htm reflex digitali konica] [http://lazythoughts.110mb.com/lib/musica-scaricabile/ musica scaricabile] [http://trouble166.110mb.com/saeco-comfort.htm saeco comfort] [http://some-omeelse.110mb.com/data/lan-yu.htm lan yu] [http://trouble166.110mb.com/dieci-secondi.htm dieci secondi per fuggire] [http://mouse-zae.110mb.com/scheda-grafica.htm scheda grafica] [http://yeeden.110mb.com/data/officina-zoe/ officina zoe testi] [http://stitchesnglue.110mb.com/pannello-giardino.htm pannello giardino] [http://slavkamolot.110mb.com/library/bmw-/ bmw 320 d touring] [http://trene-von-anty.110mb.com/description/pro-evolution.htm pro evolution soccer 4 modificato ps2] [http://gekijuls.110mb.com/estrazione-dna/ estrazione dna] [http://forever-your.110mb.com/data/cartoni-animati.htm cartoni animati musica sigla] [http://yeeden.110mb.com/data/teenage-dirtbag/ teenage dirtbag wheatus] [http://ultra-creator.110mb.com/articles/termoretraibile.htm termoretraibile] [http://mouse-zae.110mb.com/ie-.htm ie 6 0 scarica] [http://slavkamolot.110mb.com/library/www-prima/ www prima categoria calcio] [http://nationavce.110mb.com/view/i-patrizi.htm i patrizi] [http://slavkamolot.110mb.com/library/gabriele-paolini/ gabriele paolini] [http://gekijuls.110mb.com/email-gratuita/ email gratuita] [http://trouble166.110mb.com/panasonic-macchine.htm panasonic macchine fotografiche digitali] [http://dialed.110mb.com/small/pickup-chitarra/ pickup chitarra] [http://unremig.110mb.com/canon-laser/ canon laser lbp5200] [http://funk-mastah-ion.110mb.com/data/film-la.htm film la famiglia adams] [http://nationavce.110mb.com/view/tubi-gomma.htm tubi gomma temperatura] [http://blue-olusha.110mb.com/library/un-certo/ un certo giorno] [http://unremig.110mb.com/hub-usb/ hub usb da 1 1 a 2 0] [http://mouse-zae.110mb.com/cp.htm cp] [http://mouse-zae.110mb.com/arredo-giardino.htm arredo giardino mobili] [http://forever-your.110mb.com/data/saeco-magic.htm saeco magic espresso] [http://lazythoughts.110mb.com/lib/trovare-donne/ trovare donne disponibile] [http://blue-olusha.110mb.com/library/tiziano-ferro/ tiziano ferro free] [http://dialed.110mb.com/small/culture-beat/ culture beat] [http://sneezingpops.110mb.com/poeta-e/ poeta e contadino] [http://sister-sunshine.110mb.com/html/la-coq/ la coq sportif] {{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: