String Byte Length: Difference between revisions
Content added Content deleted
mNo edit summary |
m (Stupid case-sensitivity.) |
||
(26 intermediate revisions by 13 users not shown) | |||
Line 1: | 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" |
Latest revision as of 19:32, 19 January 2008
Redirect to: