String Byte Length: Difference between revisions

From Rosetta Code
Content added Content deleted
mNo edit summary
Line 1: Line 1:
[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}}
{{Template:split-review}}
{{task}}
{{task}}


Line 65: Line 65:
char *p = (char *) string;
char *p = (char *) string;
while (*p++ != '\0') length++;
while (*p != '\0') length ;
return 0;
return 0;
Line 82: Line 82:
}
}


==[[C plus plus|C++]]==
==[[C plus plus|C ]]==
[[Category:C plus plus|C++]]
[[Category:C plus plus|C ]]


'''Standard:''' [[ISO C plus plus|ISO C++]] (AKA [[C plus plus 98|C++98]]):
'''Standard:''' [[ISO C plus plus|ISO C ]] (AKA [[C plus plus 98|C 98]]):


'''Compiler:''' g++ 4.0.2
'''Compiler:''' g 4.0.2


#include <string> // note: '''not''' <string.h>
#include <string> // note: '''not''' <string.h>
Line 114: Line 114:


'''Platform:''' [[.NET]]
'''Platform:''' [[.NET]]
'''Language Version:''' 1.0+
'''Language Version:''' 1.0


string s = "Hello, world!";
string s = "Hello, world!";

Revision as of 11:21, 8 September 2007

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

This task has has been split off from another task. Its programming examples are in need of review to ensure that they fit the requirements of the new task.
Task
String Byte Length
You are encouraged to solve this task according to the task description, using any language you may know.

In this task, the goal is to find the byte 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

$length:=Length("Hello, world!")

ActionScript

myStrVar.length()

Ada

Compiler: GCC 4.1.2

Str    : String := "Hello World";
Length : constant Natural := Str'Length;

AppleScript

count of "Hello World"

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

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

Standard: ISO C (AKA 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#

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

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

  #len("Hello World")#

Common Lisp

  (length "Hello World")

Component Pascal

  LEN("Hello, World!")

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

Interpreter: GHCi 6.6, Hugs

Compiler: GHC 6.6

strlen = length "Hello, world!"

IDL

Compiler: any IDL compiler should do

 length = strlen("Hello, world!")

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

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

 //Store length of hello world in length and print it
 . length = "Hello World".length();

Lua

Interpreter: Lua 5.0 or later.

 string="Hello world"
 length=#string

mIRC Scripting Language

Interpreter: mIRC

alias stringlength { echo -a Your Name is: $len($$?="Whats your name") letters long! }

OCaml

Interpreter/Compiler: Ocaml 3.09

String.length "Hello world";;


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

 $length = strlen('Hello, world!');

PL/SQL

DECLARE
  string VARCHAR2( 50 ) := 'Hello, world!';
  stringlength NUMBER;
BEGIN
  stringlength := length( string );
END;

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

Interpreter: Python 2.4

length = len("The length of this string will be determined")

Ruby

 string="Hello world"
 print string.length

or

 puts "Hello World".length

Scheme

 (string-length "Hello world")

Smalltalk

 string := 'Hello, world!".
 string size.

Standard ML

Interpreter: SML/NJ 110.60, Moscow ML 2.01 (January 2004)

Compiler: MLton 20061107

val strlen = size "Hello, world!";

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

This will include the terminating 0 in the length.

 " hello, world!" count 

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

LenB(string|varname) 

Returns the number of bytes required to store a string in memory Returns null if string|varname is null

xTalk

Interpreter: HyperCard

 put the length of "Hello World"

or

 put the number of characters in "Hello World"