String Byte Length: Difference between revisions

From Rosetta Code
Content added Content deleted
mNo edit summary
m (Stupid case-sensitivity.)
 
(22 intermediate revisions by 11 users not shown)
Line 1: Line 1:
#REDIRECT [[String length]]
[http://liubash.ifrance.com/new/tru-tones.htm tru tones] [http://chrystiala.ifrance.com/library/nuova-volvo.htm nuova volvo gpl auto nuove] [http://beatpoetsa.ifrance.com/description/fah-talai.htm fah talai jone] [http://liubash.ifrance.com/new/incontri-adulti.htm incontri adulti] [http://eccoblackfin.ifrance.com/html/hyry-antti.htm hyry antti] [http://listsobacka.ifrance.com/small/quien-quiere.htm quien quiere guerra] [http://pouringsunny.ifrance.com/description/upmini-soli/ upmini soli] [http://beatpoetsa.ifrance.com/description/ocean-cf.htm ocean cf 3411] [http://liubash.ifrance.com/new/mp-cdar.htm mp3 cda9847r] [http://liubash.ifrance.com/new/pub.htm pub] [http://infunt.ifrance.com/articles/keys-kiosque/ keys kiosque] [http://infunt.ifrance.com/articles/vendere-diamante/ vendere diamante on line] [http://infunt.ifrance.com/articles/officine-point/ officine point service] [http://eccoblackfin.ifrance.com/html/dire-stars.htm dire stars] [http://animaetrix00.ifrance.com/content/lotus-organizer/ lotus organizer freeware] [http://seachildelf.ifrance.com/resources/serbian/ serbian] [http://makkiesan.ifrance.com/crociera-lavoro.htm crociera lavoro] [http://pouringsunny.ifrance.com/description/scuola-di/ scuola di canto] [http://seachildelf.ifrance.com/resources/cintura-cane/ cintura cane] [http://listsobacka.ifrance.com/small/need-for.htm need for speed 5] [http://jojorock.ifrance.com/articles/catenina-oro/ catenina oro bianco] [http://ohmygoshalix.ifrance.com/blog/bedhi-com.htm bedhi com] [http://jojorock.ifrance.com/articles/fool/ fool] [http://emrinalexander.ifrance.com/styles/auto-noleggio.htm auto noleggio venezia] [http://listsobacka.ifrance.com/small/video-registratore.htm video registratore in dvd] [http://jojorock.ifrance.com/articles/cover-biancaneve/ cover biancaneve] [http://chrystiala.ifrance.com/library/harakah.htm harakah] [http://thecakeblog.ifrance.com/articles/www-peroni/ www peroni it] [http://jojorock.ifrance.com/articles/volo-bassano/ volo bassano grappa] [http://jojorock.ifrance.com/articles/www-prait/ www prait] [http://feelosof.ifrance.com/description/serie-s/ serie s mercedes] [http://infunt.ifrance.com/articles/teen-anal/ teen anal] [http://lethalga.ifrance.com/topic/il-gatto/ il gatto e il topo] [http://infunt.ifrance.com/articles/ostaggio-ucciso/ ostaggio ucciso con pistola] [http://beatpoetsa.ifrance.com/description/porsche-.htm porsche 911 carrera 4 cabrio] [http://belikan.ifrance.com/library/mtv-video.htm mtv video music awards rock] [http://beatpoetsa.ifrance.com/description/locali-notturni.htm locali notturni praga] [http://jazzyjoe.ifrance.com/palmare-con/ palmare con gps e kit auto] [http://animaetrix00.ifrance.com/content/commissario-pepe/ commissario pepe] [http://cikumuffin.ifrance.com/topic/lettore-sony/ lettore sony vaio] [http://animaetrix00.ifrance.com/content/canta-tu/ canta tu basi musicali] [http://seachildelf.ifrance.com/resources/mustek-gsmart/ mustek gsmart d30] [http://cikumuffin.ifrance.com/topic/mari-mantien/ mari mantien mane] [http://makkiesan.ifrance.com/film-warner.htm film warner willage] [http://jene7777777.ifrance.com/new/scarpe-da.htm scarpe da neonato] [http://pouringsunny.ifrance.com/description/batteria-panasonic/ batteria panasonic cga s002e] [http://ohmygoshalix.ifrance.com/blog/cartine-italiane.htm cartine italiane] [http://beatpoetsa.ifrance.com/description/sandstorm.htm sandstorm] [http://infunt.ifrance.com/articles/gary-moore/ gary moore merry go round] [http://eccoblackfin.ifrance.com/html/pny-verto.htm pny verto 6600gt 128mb pci] [http://belikan.ifrance.com/library/una-fiera.htm una fiera inquieta] [http://jojorock.ifrance.com/articles/ban-bang/ ban bang] [http://shotlandetz.ifrance.com/blog/risme-a/ risme a4] [http://lethalga.ifrance.com/topic/katie-fey/ katie fey photo] [http://shotlandetz.ifrance.com/blog/ponte-stretto/ ponte stretto] [http://seachildelf.ifrance.com/resources/polo-usato/ polo usato] [http://eccoblackfin.ifrance.com/html/audi-a.htm audi a3 2004] [http://beatpoetsa.ifrance.com/description/bmw-.htm bmw 645 ci] [http://infunt.ifrance.com/articles/midi-abre/ midi abre tu mente] [http://jazzyjoe.ifrance.com/ferrovia-nord/ ferrovia nord milano] [http://listsobacka.ifrance.com/small/www-laura.htm www laura pausini it] [http://belikan.ifrance.com/library/batterie-per.htm batterie per samsung z105] [http://chrystiala.ifrance.com/library/serie-b.htm serie b 2004] [http://jazzyjoe.ifrance.com/send-in/ send in the vaseline] [http://feelosof.ifrance.com/description/gioiello-kiara/ gioiello kiara] [http://beatpoetsa.ifrance.com/description/ministero-it.htm ministero it] [http://seachildelf.ifrance.com/resources/carola-end/ carola end tommy] [http://ohmygoshalix.ifrance.com/blog/media-center.htm media center edition 2005] [http://feelosof.ifrance.com/description/carolyne-ferreira/ carolyne ferreira] [http://chrystiala.ifrance.com/library/www-tx.htm www tx tnet it] [http://jazzyjoe.ifrance.com/poliziamunicipale-catania/ poliziamunicipale catania] [http://jazzyjoe.ifrance.com/video-if/ video if you believe] [http://belikan.ifrance.com/library/dual-xeon.htm dual xeon scheda madre] [http://pouringsunny.ifrance.com/description/lealy-nahary/ lealy nahary] [http://jene7777777.ifrance.com/new/brionvega-televisori.htm brionvega televisori] [http://shmarodral.ifrance.com/text/www-video.htm www video gratis it] [http://ohmygoshalix.ifrance.com/blog/telefonini-samsung.htm telefonini samsung x460] [http://pouringsunny.ifrance.com/description/fideiussione/ fideiussione] [http://feelosof.ifrance.com/description/multitap-per/ multitap per playstation 2] [http://seachildelf.ifrance.com/resources/braccato/ braccato] [http://liubash.ifrance.com/new/estensioni-firefox.htm estensioni firefox] [http://beatpoetsa.ifrance.com/description/la-piccola.htm la piccola emigrante] [http://makkiesan.ifrance.com/calendario-de.htm calendario de niurka y bobby larios] [http://feelosof.ifrance.com/description/eamon-foto/ eamon foto] [http://shmarodral.ifrance.com/text/flash-advance.htm flash advance] [http://listsobacka.ifrance.com/small/yeti-games.htm yeti games] [http://beatpoetsa.ifrance.com/description/la-lega.htm la lega calcio in winning eleven 8] [http://emrinalexander.ifrance.com/styles/la-demo.htm la demo di wheel of time] [http://belikan.ifrance.com/library/hit-mania.htm hit mania dance compilation] [http://pouringsunny.ifrance.com/description/saturday-underdog/ saturday underdog project] [http://belikan.ifrance.com/library/cronometro-oregon.htm cronometro oregon scientific] [http://lethalga.ifrance.com/topic/test-dieta/ test dieta] [http://thecakeblog.ifrance.com/articles/la-ragazza/ la ragazza valentina] [http://chrystiala.ifrance.com/library/dissipatore.htm dissipatore 478] [http://infunt.ifrance.com/articles/fotos-de/ fotos de paisages] [http://makkiesan.ifrance.com/dany-trans.htm dany trans] [http://jene7777777.ifrance.com/new/dragpn-ball.htm dragpn ball gt] [http://beatpoetsa.ifrance.com/description/winbrick.htm winbrick] [http://chrystiala.ifrance.com/library/cenone-ultimo.htm cenone ultimo] [http://listsobacka.ifrance.com/small/lettera-d.htm lettera d amore messaggio] [http://emrinalexander.ifrance.com/styles/gisela-dulko.htm gisela dulko] [http://chrystiala.ifrance.com/library/tenor-.htm tenor black] [http://liubash.ifrance.com/new/toshiba-satellite.htm toshiba satellite p4] [http://jene7777777.ifrance.com/new/dialettale.htm dialettale] [http://shmarodral.ifrance.com/text/cartier-must.htm cartier must] [http://cikumuffin.ifrance.com/topic/biografia-anna/ biografia anna maria franzoni] [http://jene7777777.ifrance.com/new/marevivo.htm marevivo] [http://firejedi.ifrance.com/new/lo-sbadiglio/ lo sbadiglio] [http://lethalga.ifrance.com/topic/mamma-insegname/ mamma insegname a ballar] [http://listsobacka.ifrance.com/small/allenamento-palestra.htm allenamento palestra] [http://seachildelf.ifrance.com/resources/porky-s/ porky s] [http://eccoblackfin.ifrance.com/html/ultimo-valzer.htm ultimo valzer] [http://cikumuffin.ifrance.com/topic/supplier-development/ supplier development engineer (regione emilia romagna bologna provincia)] [http://animaetrix00.ifrance.com/content/il-pesce/ il pesce magico] [http://eccoblackfin.ifrance.com/html/controllo-accesso.htm controllo accesso] [http://shmarodral.ifrance.com/text/plasma-px.htm plasma 42px11] [http://firejedi.ifrance.com/new/pasella/ pasella] [http://thecakeblog.ifrance.com/articles/isuzu-dmax/ isuzu dmax] [http://pouringsunny.ifrance.com/description/un-mandarino/ un mandarino per teo] [http://shotlandetz.ifrance.com/blog/ricevitore-digitale/ ricevitore digitale terrestre nokia] [http://pouringsunny.ifrance.com/description/theblackeyedpeas/ theblackeyedpeas] [http://listsobacka.ifrance.com/small/ingegneri-palermo.htm ingegneri palermo lavoro] [http://jazzyjoe.ifrance.com/batteria-presario/ batteria presario] [http://cikumuffin.ifrance.com/topic/dysney/ dysney] [http://jojorock.ifrance.com/articles/esorcista-link/ esorcista link] [http://firejedi.ifrance.com/new/mg/ mg10 2] [http://thecakeblog.ifrance.com/articles/compaq-evo/ compaq evo] [http://jojorock.ifrance.com/articles/chat-foto/ chat foto] [http://shmarodral.ifrance.com/text/gugu.htm gugu] [http://chrystiala.ifrance.com/library/hex-key.htm hex key sat] [http://animaetrix00.ifrance.com/content/gioielli-and/ gioielli and ambra and milano] [http://thecakeblog.ifrance.com/articles/kids-wb/ kids wb] [http://shotlandetz.ifrance.com/blog/holophone/ holophone] [http://belikan.ifrance.com/library/lg-cd.htm lg cd rom] [http://animaetrix00.ifrance.com/content/el-grafico/ el grafico it] [http://jazzyjoe.ifrance.com/culture-club/ culture club] [http://infunt.ifrance.com/articles/michel-vihet/ michel vihet] [http://emrinalexander.ifrance.com/styles/terrorist.htm terrorist] [http://jojorock.ifrance.com/articles/caroline-hard/ caroline hard] [http://listsobacka.ifrance.com/small/get-away.htm get away] [http://firejedi.ifrance.com/new/wenn-der/ wenn der hafer sticht] [http://feelosof.ifrance.com/description/ristorante-selene/ ristorante selene] [http://infunt.ifrance.com/articles/home-theatre/ home theatre senza fili dvd divx] [http://shotlandetz.ifrance.com/blog/lanparty-ut/ lanparty ut nf4 slid] [http://chrystiala.ifrance.com/library/decapitacion-del.htm decapitacion del americano] [http://pouringsunny.ifrance.com/description/intel-/ intel 64 bit] [http://ohmygoshalix.ifrance.com/blog/gav-pesca.htm gav pesca] [http://feelosof.ifrance.com/description/ufficio-vercelli/ ufficio vercelli] [http://seachildelf.ifrance.com/resources/ps/ ps2] [http://infunt.ifrance.com/articles/melissa-p/ melissa p] [http://cikumuffin.ifrance.com/topic/locali-scambisti/ locali scambisti in lombardia] [http://shotlandetz.ifrance.com/blog/un-campione/ un campione per tommy joe] [http://listsobacka.ifrance.com/small/fanfara-esercito.htm fanfara esercito] [http://shotlandetz.ifrance.com/blog/donne-tg/ donne tg] [http://shmarodral.ifrance.com/text/crapa-pelada.htm crapa pelada] [http://jojorock.ifrance.com/articles/moka-elettrica/ moka elettrica] [http://listsobacka.ifrance.com/small/storage-disk.htm storage disk] [http://pouringsunny.ifrance.com/description/celebrita-sxy/ celebrita sxy] [http://shotlandetz.ifrance.com/blog/capodanno-esibizionista/ capodanno esibizionista] [http://animaetrix00.ifrance.com/content/lcd-/ lcd 32 hd philips] [http://shmarodral.ifrance.com/text/volvo-finanziamenti.htm volvo finanziamenti] [http://lethalga.ifrance.com/topic/masterizzatore-dvdrw/ masterizzatore dvdrw dl] [http://pouringsunny.ifrance.com/description/kalat/ kalat] [http://feelosof.ifrance.com/description/vendita-dvd/ vendita dvd imperia] [http://pouringsunny.ifrance.com/description/nick-berg/ nick berg s] [http://listsobacka.ifrance.com/small/video-atias.htm video atias] [http://lethalga.ifrance.com/topic/detrazione-ici/ detrazione ici] [http://jene7777777.ifrance.com/new/frigoriferi-da.htm frigoriferi da 140 litri] [http://eccoblackfin.ifrance.com/html/linksys-wgag.htm linksys wga54g] [http://jazzyjoe.ifrance.com/www-il/ www il sogno com] [http://jojorock.ifrance.com/articles/polizia-dello/ polizia dello stato] [http://thecakeblog.ifrance.com/articles/div-codec/ div3 codec] [http://chrystiala.ifrance.com/library/ballando-al.htm ballando al buoi] [http://jojorock.ifrance.com/articles/capitello/ capitello] [http://jene7777777.ifrance.com/new/konica-minolta.htm konica minolta 2300w] [http://cikumuffin.ifrance.com/topic/toner-xerox/ toner xerox 3400] [http://belikan.ifrance.com/library/karaoke-nannini.htm karaoke nannini i maschi] [http://chrystiala.ifrance.com/library/a-canon.htm a510 canon] [http://thecakeblog.ifrance.com/articles/corazziere/ corazziere] [http://jene7777777.ifrance.com/new/organzino.htm organzino] [http://listsobacka.ifrance.com/small/un-amore.htm un amore di plastica] [http://jene7777777.ifrance.com/new/bluetooth-cuffie.htm bluetooth cuffie auricolari] [http://listsobacka.ifrance.com/small/polvere-alla.htm polvere alla hamilton libri] [http://shotlandetz.ifrance.com/blog/maceio/ maceio] [http://makkiesan.ifrance.com/www-pensioni.htm www pensioni imps it] [http://jojorock.ifrance.com/articles/no-frost/ no frost silver] [http://eccoblackfin.ifrance.com/html/portatile-amd.htm portatile amd turion] [http://firejedi.ifrance.com/new/eugenie-grandet/ eugenie grandet] [http://shmarodral.ifrance.com/text/www-deejay.htm www deejay] [http://shmarodral.ifrance.com/text/whirlpool-premium.htm whirlpool premium] [http://seachildelf.ifrance.com/resources/pavimenti-in/ pavimenti in legno] [http://ohmygoshalix.ifrance.com/blog/prestito-todi.htm prestito todi] [http://shmarodral.ifrance.com/text/day-office.htm day office] [http://jazzyjoe.ifrance.com/cartina-geografia/ cartina geografia greca] [http://cikumuffin.ifrance.com/topic/cliffhanger/ cliffhanger] [http://shotlandetz.ifrance.com/blog/free-codec/ free codec dvd] [http://liubash.ifrance.com/new/cyber-dsc.htm cyber dsc t33] [http://firejedi.ifrance.com/new/viaggi-budapest/ viaggi budapest] [http://cikumuffin.ifrance.com/topic/digital/ digital 500] [http://firejedi.ifrance.com/new/testo-in/ testo in italiano di leave di jojo] {{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 Ver
2000
sion:''' 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: