String Byte Length: Difference between revisions
Content added Content deleted
mNo edit summary |
m (Stupid case-sensitivity.) |
||
(24 intermediate revisions by 13 users not shown) | |||
Line 1: | Line 1: | ||
#REDIRECT [[String length]] |
|||
[http://ariadnafeni.ifrance.com/resources/fioriweb/ fioriweb] [http://hewvey.ifrance.com/library/val-d/ val d orcia agriturismo] [http://ariadnafeni.ifrance.com/resources/racconti-erotici/ racconti erotici io mamma e mia sorella] [http://dweejah.ifrance.com/new/yuggi-oh/ yuggi oh] [http://brandalinden.ifrance.com/topic/amilo-.htm amilo 1 gb] [http://jrosestar.ifrance.com/html/paha/ paha] [http://yoschaad.at.tut.by/lib/costi-treno.htm costi treno bianco per lourdes] [http://isabellaval.ifrance.com/uglass/ uglass] [http://sagaddy.angelfire.com/styles/parrucchiere-per/ parrucchiere per signora] [http://konstantinkar.ifrance.com/description/washing-machine/ washing machine] [http://hewvey.ifrance.com/library/modem-us/ modem us robotics 56k v92] [http://feralpaw-omm.ifrance.com/html/philips-auricolari/ philips auricolari] [http://isabellaval.ifrance.com/traduzione-fuck/ traduzione fuck right back] [http://feralpaw-omm.ifrance.com/html/bridgitte/ bridgitte] [http://hewvey.ifrance.com/library/elicottero-radiocomandato/ elicottero radiocomandato dragonfly] [http://isabellaval.ifrance.com/pastora-soler/ pastora soler] [http://mcunderh.at.tut.by/resources/articles/karaoke-albanese.htm karaoke albanese] [http://sagaddy.angelfire.com/styles/radeon-/ radeon 9800 pro atlantis] [http://sagaddy.angelfire.com/styles/finanziamenti-bologna/ finanziamenti bologna] [http://jrosestar.ifrance.com/html/surf-nelle/ surf nelle vene] [http://dylantian.ifrance.com/styles/dj-gabry.htm dj gabry] [http://seedging.at.tut.by/text/directory/bubble-bable.htm bubble bable] [http://konstantinkar.ifrance.com/description/raymarine-wind/ raymarine wind] [http://snerma.angelfire.com/text/motorola-v/ motorola v620 cellulari] [http://kataevka.ifrance.com/articles/lastminute-barcellona/ lastminute barcellona venezia] [http://feralpaw-omm.ifrance.com/html/kit-cloro/ kit cloro per piscine] [http://jrosestar.ifrance.com/html/scooter-usati/ scooter usati 250cc] [http://feralpaw-omm.ifrance.com/html/lisola-del/ lisola del peccato] [http://jrosestar.ifrance.com/html/tavolo-rotondo/ tavolo rotondo] [http://pohogue.angelfire.com/library/sesso-con.htm sesso con ingoio] [http://macertot.ifrance.com/view/erica-ceramiche.htm erica ceramiche] [http://spkleins.angelfire.com/hamtaro/ hamtaro] [http://hehalley.at.tut.by/content/view/www-condominio.htm www condominio it it] [http://snerma.angelfire.com/text/tatoo-milan/ tatoo milan] [http://lidresze.angelfire.com/blog/ordinary-word.htm ordinary word] [http://kataevka.ifrance.com/articles/tralala/ tralala] [http://lidresze.angelfire.com/blog/brighton-shopping.htm brighton shopping] [http://kataevka.ifrance.com/articles/auto-noleggio/ auto noleggio nizza] [http://brandalinden.ifrance.com/topic/nuovo-video.htm nuovo video di kyle minogue chocolate] [http://sagaddy.angelfire.com/styles/sparkle-geforce/ sparkle geforce 6600] [http://kairikekui.ifrance.com/resources/dott-mascia/ dott mascia] [http://thmastrie.angelfire.com/resources/neptun-hotel.htm neptun hotel tucepi] [http://ariadnafeni.ifrance.com/resources/programmi-tv/ programmi tv musica] [http://zaweaver.at.tut.by/text/directory/www-agenziasg.htm www agenziasg com] [http://agodichik.angelfire.com/styles/sotto-dieci.htm sotto dieci bandiere] [http://nymphbmbzl222.ifrance.com/philips-ht.htm philips ht] [http://thmastrie.angelfire.com/resources/b-m.htm b m x] [http://dylantian.ifrance.com/styles/audio-key.htm audio key fm packard bell 512mb] [http://alena344.ifrance.com/text/goldfinger/ goldfinger] [http://ariadnafeni.ifrance.com/resources/marisa-mell/ marisa mell] [http://sagaddy.angelfire.com/styles/box-/ box 5 25 dvd] [http://feralpaw-omm.ifrance.com/html/alimentazione-gravidanza/ alimentazione gravidanza] [http://alena344.ifrance.com/text/lycanthropus/ lycanthropus] [http://casloan.angelfire.com/small/in-piedi/ in piedi] [http://spkleins.angelfire.com/can-you/ can you hear me] [http://isabellaval.ifrance.com/www-americ/ www americ it] [http://lidresze.angelfire.com/blog/appunti-diritto.htm appunti diritto pubblico] [http://hewvey.ifrance.com/library/calendario-alessandra/ calendario alessandra schiavo] [http://agodichik.angelfire.com/styles/techsolo.htm techsolo 550] [http://thmastrie.angelfire.com/resources/ciclomotores.htm ciclomotores] [http://isabellaval.ifrance.com/albergo-pensione/ albergo pensione roma] [http://kairikekui.ifrance.com/resources/pereza/ pereza] [http://brandalinden.ifrance.com/topic/tts.htm tts] [http://mcunderh.at.tut.by/resources/articles/benito-urgu.htm benito urgu] [http://nymphbmbzl222.ifrance.com/video-dello.htm video dello sgozzamento] [http://spkleins.angelfire.com/display/ display 19] [http://kataevka.ifrance.com/articles/web-il/ web il coraggioso] [http://nymphbmbzl222.ifrance.com/guta-minti.htm guta minti] [http://isabellaval.ifrance.com/rodenkirchen/ rodenkirchen] [http://isabellaval.ifrance.com/sergio-del/ sergio del rio] [http://sagaddy.angelfire.com/styles/oceano-mare/ oceano mare] [http://dweejah.ifrance.com/new/albergo-/ albergo 3 stelle firenze] [http://brandalinden.ifrance.com/topic/fujitsu-breeze.htm fujitsu breeze] [http://dweejah.ifrance.com/new/cartucce-stampanti/ cartucce stampanti inkjet] [http://sagaddy.angelfire.com/styles/eventi-/ eventi 17 luglio 2004 roma] [http://hewvey.ifrance.com/library/gli-uomini/ gli uomini non cambiano mia martini] [http://kataevka.ifrance.com/articles/foglizzo/ foglizzo] [http://yvharlen.at.tut.by/lib/heather-graham.htm heather graham killing me softly] [http://ariadnafeni.ifrance.com/resources/saturday-night/ saturday night disco] [http://feralpaw-omm.ifrance.com/html/wireless-networking/ wireless networking] [http://dylantian.ifrance.com/styles/la-signora.htm la signora della porta accanto] [http://zaweaver.at.tut.by/text/directory/microsoft-starck.htm microsoft starck] [http://hewvey.ifrance.com/library/nike-plus/ nike plus] [http://feralpaw-omm.ifrance.com/html/tetta-famosa/ tetta famosa] [http://macertot.ifrance.com/view/latini-mid.htm latini mid] [http://alena344.ifrance.com/text/siemens-/ siemens 355 cordles] [http://isabellaval.ifrance.com/batteria-siemens/ batteria siemens a 35] [http://dylantian.ifrance.com/styles/dvd-recorder.htm dvd recorder philips dvdr3305] [http://thmastrie.angelfire.com/resources/ope-snc.htm ope snc di roberto milan c] [http://beyonddreamingx.angelfire.com/content/rasaerba-automatico.htm rasaerba automatico] [http://mcunderh.at.tut.by/resources/articles/prezzo-nokia.htm prezzo nokia 6230i] [http://feralpaw-omm.ifrance.com/html/tesine-italiano/ tesine italiano] [http://wifry.angelfire.com/styles/guinness.htm guinness 1997] [http://webancks.at.tut.by/images/small/bridge-wireless.htm bridge wireless 3com] [http://thmastrie.angelfire.com/resources/pal-talck.htm pal talck com] [http://brandalinden.ifrance.com/topic/mariano-deidda.htm mariano deidda] [http://isabellaval.ifrance.com/www-flashgames/ www flashgames com] [http://hewvey.ifrance.com/library/annuncio-personali/ annuncio personali single] [http://jrosestar.ifrance.com/html/inima-ranita/ inima ranita] [http://spkleins.angelfire.com/corte-d/ corte d appello roma] [http://ems-cittadina.itmilan.info/ ems (cittadina)] [http://universal-developers.usitus.info/ universal developers] [http://la-morte.itforus.info/ la morte e il morire] [http://reti-idriche.likit.info/ reti idriche] [http://nikon.usait.info/ nikon 995] [http://gruppo-smile.itmilan.info/ gruppo smile srl] [http://batterie-per.usitus.info/ batterie per cellulare panasonic] [http://assicurazione-pinerolo.altars.cn/ assicurazione pinerolo] [http://multifunzione-colore.likit.info/ multifunzione colore a4] [http://alle-venti.itmilan.info/ alle venti] [http://fab-srl.infoforit.info/ fab srl] [http://eros-roma.itmilan.info/ eros roma 2004 dvd cover] [http://scheda-madre.seeded.cn/ scheda madre doppio processore intel] [http://hit-my.usitus.info/ hit my heart benny] [http://my-funny.altars.cn/ my funny valentine] [http://xelibri-x.infoforit.info/ xelibri x 8] [http://pagnoncelli.waked.cn/ pagnoncelli] [http://tu-mi.usitus.info/ tu mi hai lasciato ma t amo ancora] [http://download-software.itmilan.info/ download software] [http://calciatori-che.infoforit.info/ calciatori che fanno sesso] [http://testi-dirty.infoforit.info/ testi dirty dancing] [http://greene-robert.likit.info/ greene robert] [http://lesbo-.itforus.info/ lesbo single] [http://petracentral.itforus.info/ petracentral] [http://mina-noi.mered.cn/ mina noi] [http://albergo-.likit.info/ albergo 4 stelle londra] [http://driver-usb.itmilan.info/ driver usb motorola c650 download] [http://geforce-.itforus.info/ geforce 6800 le agp] [http://un-concorso.usait.info/ un concorso per sega superstars] [http://malpensa-express.itmilan.info/ malpensa express] [http://gimme-shelter.mered.cn/ gimme shelter] [http://canon-wc.usitus.info/ canon wc dc58a] [http://teen-cum.infoforit.info/ teen cum] [http://pittori-milano.likit.info/ pittori milano] [http://pali-lettini.mered.cn/ pali lettini] [http://scarpe-bull.infoforit.info/ scarpe bull boys] [http://non-ci.likit.info/ non ci lasceremo mai] [http://ginnastica-ritmica.itforus.info/ ginnastica ritmica] [http://lg-u.seeded.cn/ lg u 8100] [http://ultimatum-a.usitus.info/ ultimatum a chicago] [http://sobri-mon.mered.cn/ sobri mon destin] [http://lavastoviglie-ad.usait.info/ lavastoviglie ad incasso cm 45] [http://foto-da.likit.info/ foto da film voglio stare sotto il lett] [http://que-l.usait.info/ que l] [http://rimax-usbeat.altars.cn/ rimax usbeat 303] [http://prima-patch.infoforit.info/ prima patch per bloodmoon] [http://jennifer-lopez.usait.info/ jennifer lopez nuda] [http://live-cybersex.likit.info/ live cybersex cams] [http://jonhcena.usait.info/ jonhcena] [http://puma-calcetto.itforus.info/ puma calcetto] [http://tcs.itforus.info/ tcs] [http://roma-eventi.usait.info/ roma eventi 25 07 04] [http://foto-tinto.6pense.cn/ foto tinto brass] [http://lott-felicity.altars.cn/ lott felicity voices of our time] [http://euro-copa.itforus.info/ euro copa] [http://anemoni-di.likit.info/ anemoni di mare] [http://violenza-a.itforus.info/ violenza a un minorenne] [http://real-naste.usait.info/ real naste girls] [http://viatris.itmilan.info/ viatris] [http://hd-mp.tanned.cn/ hd mp3] [http://jeans-nike.altars.cn/ jeans nike] [http://memory-card.rekki-most.cn/ memory card hard disk usb] [http://foto-spears.mered.cn/ foto spears] [http://grandezza-pene.6pense.cn/ grandezza pene] [http://la-fine.usait.info/ la fine di san pietroburgo] [http://mirabilandia-it.itforus.info/ mirabilandia it] [http://dolce-gabbana.itmilan.info/ dolce gabbana cinture] [http://lettori-portatile.waked.cn/ lettori portatile video] [http://blonderedhead.6pense.cn/ blonderedhead] [http://super-eva.likit.info/ super eva] [http://fulacunda.likit.info/ fulacunda] [http://knockout-.itmilan.info/ knockout 2 corel] [http://scarpa-chanel.usait.info/ scarpa chanel donna] [http://con-il.itmilan.info/ con il vecchietto] [http://nvidia-geforce.usitus.info/ nvidia geforce 6600 pciexpress] [http://www-windows.usitus.info/ www windows media player it] [http://cartine-geografiche.6pense.cn/ cartine geografiche croazia isole] [http://protezionecivile.mered.cn/ protezionecivile] [http://enermax-noisetaker.altars.cn/ enermax noisetaker] [http://torna-a.mered.cn/ torna a surriento pavarotti] [http://trinidad.likit.info/ trinidad] [http://immagini-calendari.itmilan.info/ immagini calendari max] [http://lacie-d.altars.cn/ lacie d2 16x] [http://ergastoplasma.itmilan.info/ ergastoplasma] [http://webmail-earthlink.waked.cn/ webmail earthlink net] [http://benvenuto-matteucci.tanned.cn/ benvenuto matteucci] [http://cipolla-colt.usitus.info/ cipolla colt] [http://borse-studio.usitus.info/ borse studio] [http://nvidia.mered.cn/ nvidia 128] [http://sony-np.usitus.info/ sony np 70] [http://pxa-nero.itmilan.info/ px740a nero] [http://processore-p.itforus.info/ processore p 4 3 ghz] [http://feet-of.mered.cn/ feet of flame] [http://o-fiorentina.likit.info/ o fiorentina] [http://frullatori-ghiaccio.likit.info/ frullatori ghiaccio] [http://sfondi-egitto.altars.cn/ sfondi egitto] [http://sash.mered.cn/ sash] [http://agriturismo-segrate.tanned.cn/ agriturismo segrate] [http://enzo-marcelli.usitus.info/ enzo marcelli cabaret] [http://osvaldo-valenti.infoforit.info/ osvaldo valenti] {{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: