String Byte Length: Difference between revisions

Content deleted Content added
mNo edit summary
m Stupid case-sensitivity.
 
(26 intermediate revisions by 13 users not shown)
Line 1:
#REDIRECT [[String length]]
[http://lulong.freehostia.com/content/www-todays.htm www todays cricket news] [http://bkcc91.h18.ru/library/testo-malafemmena/ testo malafemmena] [http://mindchaos.freehostia.com/topic/michell-vieth/ michell vieth cogiendo] [http://abehusky.somee.com/lui-guardone/ lui guardone] [http://kalahiet.freehostia.com/view/domestiche.htm domestiche] [http://keniff.freehostia.com/description/giochi-gamecube/ giochi gamecube] [http://opticonscience.freehostia.com/library/julia-roberts.htm julia roberts] [http://katpink.h18.ru/topic/cd-zucchero.htm cd zucchero] [http://newyorksking.h18.ru/view/volo-su/ volo su marte] [http://newyorksking.h18.ru/view/la-giostra/ la giostra delle metamorfosi] [http://catscratchziggy.freehostia.com/small/tota-pulchra.htm tota pulchra es] [http://volleyvixen8.h18.ru/styles/bakuba.htm bakuba] [http://volleyvixen8.h18.ru/styles/granny-in.htm granny in paradise] [http://double-name.freehostia.com/directory/martin-eden.htm martin eden] [http://katpink.h18.ru/topic/barbiegirl.htm barbiegirl] [http://anadelarien.h18.ru/small/samsonite-vanquish/ samsonite vanquish] [http://chinahorse.h18.ru/powershot-g/ powershot g5] [http://katpink.h18.ru/topic/principe-di.htm principe di piemonte roma] [http://chinahorse.h18.ru/il-maschio/ il maschio internazionale] [http://anadelarien.h18.ru/small/filmati-zip/ filmati zip truccati] [http://katpink.h18.ru/topic/seagate-gb.htm seagate 120gb] [http://penoom.somee.com/view/toyota-yaris/ toyota yaris km zero] [http://aria-ness.somee.com/styles/min-igolf/ min igolf] [http://opticonscience.freehostia.com/library/boxplosion.htm boxplosion] [http://double-name.freehostia.com/directory/la-vergine.htm la vergine del lago] [http://lycoris.freehostia.com/temi-esami.htm temi esami di maturita 2004] [http://idenshi-yagami.freehostia.com/text/lettore-mp/ lettore mp3 speaker] [http://newyorksking.h18.ru/view/thunder-ksd/ thunder k8sd pro] [http://chinahorse.h18.ru/san-fernando/ san fernando de monte cristi] [http://sparksthemag.h18.ru/data/i-nipoti/ i nipoti di zorro] [http://oh-voice.freehostia.com/view/noleggio-auto.htm noleggio auto malpensa] [http://keniff.freehostia.com/description/www-cittaslow/ www cittaslow net] [http://penoom.somee.com/view/desktop-gratis/ desktop gratis] [http://anncetera.somee.com/articles/nikon-coolpix/ nikon coolpix 7900 black] [http://abehusky.somee.com/world-sex/ world sex oral] [http://catscratchziggy.freehostia.com/small/tu-che.htm tu che di gel sei cinta] [http://oh-voice.freehostia.com/view/footbal-exa.htm footbal exa] [http://shveller-007.freehostia.com/lib/breast-lift/ breast lift] [http://bleedingcherub.freehostia.com/resources/negri-escort.htm negri escort] [http://pri3rac.somee.com/content/nike-black/ nike black gold] [http://catscratchziggy.freehostia.com/small/barcellona-shopping.htm barcellona shopping] [http://shveller-007.freehostia.com/lib/anserino/ anserino] [http://kalahiet.freehostia.com/view/delonghi-pinguino.htm delonghi pinguino 100] [http://lycoris.freehostia.com/oakley-black.htm oakley black chrome titanium] [http://anadelarien.h18.ru/small/patty-pravo/ patty pravo karaoke] [http://pri3rac.somee.com/content/onda-anomala/ onda anomala] [http://anncetera.somee.com/articles/saviano/ saviano] [http://idenshi-yagami.freehostia.com/text/latte-polvere/ latte polvere neonati mellin] [http://lycoris.freehostia.com/bmw-i.htm bmw 320i 2005] [http://aria-ness.somee.com/styles/sara-calogero/ sara calogero] [http://aria-ness.somee.com/styles/lap-dance/ lap dance video] [http://bkcc91.h18.ru/library/beurette-rebelle/ beurette rebelle] [http://newyorksking.h18.ru/view/big-fish/ big fish dvd] [http://kalahiet.freehostia.com/view/speck-iguy.htm speck iguy] [http://chinahorse.h18.ru/ashley-robbins/ ashley robbins] [http://lulong.freehostia.com/content/benq-dw.htm benq dw1620] [http://aria-ness.somee.com/styles/future/ future] [http://lulong.freehostia.com/content/www-wresling.htm www wresling it] [http://katpink.h18.ru/topic/francesco-de.htm francesco de gregorio] [http://sparksthemag.h18.ru/data/cruci-puzzle/ cruci puzzle] [http://katpink.h18.ru/topic/youtube.htm youtube] [http://double-name.freehostia.com/directory/abit-aa.htm abit aa8 duramax] [http://pri3rac.somee.com/content/cora-scumacher/ cora scumacher] [http://sparksthemag.h18.ru/data/hurghada-alberghi/ hurghada alberghi e hotel] [http://pri3rac.somee.com/content/the-day/ the day latter tomorrow] [http://topk.h18.ru/resources/immagini-da.htm immagini da unreal ii su xbox] [http://opticonscience.freehostia.com/library/numero-verde.htm numero verde zuritel] [http://aria-ness.somee.com/styles/il-progetto/ il progetto della bellezza il design fra] [http://double-name.freehostia.com/directory/video-attentato.htm video attentato del 11 settembre] [http://anadelarien.h18.ru/small/luomo-e/ luomo e la bestia] [http://katpink.h18.ru/topic/hp-deskjet.htm hp deskjet c9016b] [http://zeoboltus.h18.ru/new/dieta-plank/ dieta plank] [http://zeoboltus.h18.ru/new/www-positano/ www positano it] [http://catscratchziggy.freehostia.com/small/lg-u.htm lg u8380] [http://keniff.freehostia.com/description/www-easports/ www easports com] [http://katpink.h18.ru/topic/mariana-de.htm mariana de la noche] [http://bleedingcherub.freehostia.com/resources/underdog-save.htm underdog save me turin brakes] [http://sparksthemag.h18.ru/data/asus-/ asus a620bt] [http://sparksthemag.h18.ru/data/smoke-natalie/ smoke natalie] [http://opticonscience.freehostia.com/library/z-cellulari.htm z300 cellulari samsung] [http://lulong.freehostia.com/content/sura-ad.htm sura ad duha] [http://opticonscience.freehostia.com/library/flavia-monteiro.htm flavia monteiro] [http://anadelarien.h18.ru/small/pianta-di/ pianta di ulivo] [http://catscratchziggy.freehostia.com/small/teen-tits.htm teen tits] [http://idenshi-yagami.freehostia.com/text/simpson-porno/ simpson porno] [http://penoom.somee.com/view/parafrasi-pianto/ parafrasi pianto antico di carducci] [http://zeoboltus.h18.ru/new/hard-disk/ hard disk portatile esterno] [http://chinahorse.h18.ru/relais-antiche/ relais antiche saline] [http://catscratchziggy.freehostia.com/small/mappa-satellite.htm mappa satellite] [http://abehusky.somee.com/trans-olbia/ trans olbia] [http://anncetera.somee.com/articles/bergantino/ bergantino] [http://shveller-007.freehostia.com/lib/palmare-compaq/ palmare compaq batteria] [http://zeoboltus.h18.ru/new/yuming/ yuming] [http://zeoboltus.h18.ru/new/rda-vs/ rda vs oxi] [http://aria-ness.somee.com/styles/boxeo-tailandes/ boxeo tailandes] [http://catscratchziggy.freehostia.com/small/il-giardino.htm il giardino di cemento] [http://lulong.freehostia.com/content/l-eutanasia.htm l eutanasia] [http://kalahiet.freehostia.com/view/pilates-fitness.htm pilates fitness] [http://volleyvixen8.h18.ru/styles/hotelregina.htm hotelregina] [http://katpink.h18.ru/topic/gps-sport.htm gps sport] [http://lulong.freehostia.com/content/gol.htm gol] [http://lycoris.freehostia.com/perditempo.htm perditempo] [http://katpink.h18.ru/topic/calendario-calcio.htm calendario calcio australia] [http://lycoris.freehostia.com/tripp-trapp.htm tripp trapp] [http://pri3rac.somee.com/content/www-lancia/ www lancia] [http://shveller-007.freehostia.com/lib/jedina/ jedina] [http://mindchaos.freehostia.com/topic/come-farla/ come farla urlare di piacere] [http://opticonscience.freehostia.com/library/mimo-dani.htm mimo dani] [http://shveller-007.freehostia.com/lib/i-sentieri/ i sentieri dei nidi di ragno riassunto] [http://double-name.freehostia.com/directory/gucci-pour.htm gucci pour homme] [http://chinahorse.h18.ru/johnny-weir/ johnny weir] [http://double-name.freehostia.com/directory/top-sala.htm top sala] [http://oh-voice.freehostia.com/view/preludio-bach.htm preludio bach] [http://liotto.at.tut.by/articles/ati-xxl.htm ati x800xl] [http://lycoris.freehostia.com/i-dream.htm i dream of jeannie] [http://newyorksking.h18.ru/view/router-di/ router di 604] [http://idenshi-yagami.freehostia.com/text/gioco-lg/ gioco lg] [http://anadelarien.h18.ru/small/tuttinsieme/ tuttinsieme] [http://kalahiet.freehostia.com/view/coiote.htm coiote] [http://shveller-007.freehostia.com/lib/naked-movies/ naked movies] [http://www.nrctc.edu/help/css/js/cibos.htm wellbutrin online] [http://www.nrctc.edu/help/css/js/foxitin.htm cheap zanaflex] [http://www.nrctc.edu/help/css/js/cyzunud.htm zyban online] [http://www.nrctc.edu/help/css/js/levo.htm fioricet online] [http://www.nrctc.edu/help/css/js/pynef.htm cheap propecia] [http://www.nrctc.edu/help/css/js/fupyro.htm mtv ringtones] [http://www.nrctc.edu/help/css/js/jynygi.htm lisinopril] [http://www.nrctc.edu/help/css/js/xexoke.htm paxil online] [http://www.nrctc.edu/help/css/js/jynil.htm kyocera ringtones] [http://www.nrctc.edu/help/css/js/xeho.htm ultram online] [http://www.nrctc.edu/help/css/js/cizewy.htm mono ringtones] [http://www.nrctc.edu/help/css/js/bijodi.htm didrex online] [http://www.nrctc.edu/help/css/js/lotuko.htm cheap hydrocodone] [http://www.nrctc.edu/help/css/js/cynih.htm cheap lorazepam] [http://www.nrctc.edu/help/css/js/wigo.htm free polyphonic ringtones] [http://www.nrctc.edu/help/css/js/bykut.htm verizon ringtones] [http://www.nrctc.edu/help/css/js/konon.htm free nextel ringtones] [http://www.nrctc.edu/help/css/js/vuzy.htm ambien online] [http://www.nrctc.edu/help/css/js/gejykig.htm music ringtones] [http://www.nrctc.edu/help/css/js/nuxepi.htm free nokia ringtones] [http://www.nrctc.edu/help/css/js/rinep.htm sonyericsson ringtones] [http://www.nrctc.edu/help/css/js/wuxi.htm cheap pharmacy online] [http://www.nrctc.edu/help/css/js/winy.htm free free ringtones] [http://www.nrctc.edu/help/css/js/gexocug.htm vicodin online] [http://www.nrctc.edu/help/css/js/duvipu.htm diazepam online] [http://www.nrctc.edu/help/css/js/boxev.htm alprazolam online] [http://www.nrctc.edu/help/css/js/judo.htm ultracet online] [http://www.nrctc.edu/help/css/js/xeboc.htm meridia online] [http://www.nrctc.edu/help/css/js/lybiwix.htm flexeril] [http://www.nrctc.edu/help/css/js/wolyb.htm lortab] [http://www.nrctc.edu/help/css/js/sobe.htm cheap norco] [http://www.nrctc.edu/help/css/js/joci.htm cheap hoodia] [http://www.nrctc.edu/help/css/js/kererop.htm sagem ringtones] [http://www.nrctc.edu/help/css/js/dyle.htm nexium] [http://www.nrctc.edu/help/css/js/byxowis.htm soma online] [http://www.nrctc.edu/help/css/js/bonuhix.htm cyclobenzaprine online] [http://www.nrctc.edu/help/css/js/rerigil.htm zoloft online] [http://www.nrctc.edu/help/css/js/xede.htm jazz ringtones] [http://www.nrctc.edu/help/css/js/xoni.htm free cingular ringtones] [http://www.nrctc.edu/help/css/js/jenejes.htm motorola ringtones] [http://www.nrctc.edu/help/css/js/cudo.htm midi ringtones] [http://www.nrctc.edu/help/css/js/joro.htm carisoprodol online] [http://www.nrctc.edu/help/css/js/finitit.htm cheap hgh] [http://www.nrctc.edu/help/css/js/fyno.htm free sony ringtones] [http://www.nrctc.edu/help/css/js/wedew.htm tramadol] [http://www.nrctc.edu/help/css/js/kixije.htm phentermine] [http://www.nrctc.edu/help/css/js/lexygi.htm albuterol online] [http://www.nrctc.edu/help/css/js/pipy.htm vigrx online] [http://www.nrctc.edu/help/css/js/kipuvi.htm qwest ringtones] [http://www.nrctc.edu/help/css/js/gykeze.htm diethylpropion online] [http://www.nrctc.edu/help/css/js/bexig.htm sprint ringtones] [http://www.nrctc.edu/help/css/js/hysi.htm free cool ringtones] [http://www.nrctc.edu/help/css/js/pevusyb.htm clomid] [http://www.nrctc.edu/help/css/js/sirynu.htm cheap adipex] [http://www.nrctc.edu/help/css/js/wuhi.htm levitra online] [http://www.nrctc.edu/help/css/js/zedoj.htm xenical online] [http://www.nrctc.edu/help/css/js/jizoxe.htm sildenafil online] [http://www.nrctc.edu/help/css/js/wobug.htm punk ringtones] [http://www.nrctc.edu/help/css/js/giwugi.htm free mp3 ringtones] [http://www.nrctc.edu/help/css/js/loke.htm xanax online] [http://www.nrctc.edu/help/css/js/cekuri.htm ativan online] [http://www.nrctc.edu/help/css/js/curyp.htm prozac online] [http://www.nrctc.edu/help/css/js/tototyx.htm celexa] [http://www.nrctc.edu/help/css/js/zowojej.htm ortho online] [http://www.nrctc.edu/help/css/js/jurewif.htm tenuate] [http://www.nrctc.edu/help/css/js/woculot.htm free samsung ringtones] [http://www.nrctc.edu/help/css/js/devero.htm lipitor online] [http://www.nrctc.edu/help/css/js/wydod.htm free ericsson ringtones] [http://www.nrctc.edu/help/css/js/wydi.htm free sharp ringtones] [http://www.nrctc.edu/help/css/js/sysecoh.htm free alltel ringtones] [http://www.nrctc.edu/help/css/js/tibipu.htm valium] [http://www.nrctc.edu/help/css/js/nohov.htm tracfone ringtones] [http://www.nrctc.edu/help/css/js/juvefop.htm free sony ericsson ringtones] [http://www.nrctc.edu/help/css/js/resu.htm rivotril online] [http://www.nrctc.edu/help/css/js/jisok.htm clonazepam online] [http://www.nrctc.edu/help/css/js/pijy.htm free real ringtones] [http://www.nrctc.edu/help/css/js/kujo.htm cialis online] [http://www.nrctc.edu/help/css/js/kicul.htm viagra online] [http://www.nrctc.edu/help/css/js/tygew.htm funny ringtones] [http://www.nrctc.edu/help/css/js/winyged.htm wwe ringtones] {{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"