String in unicode

Post Reply
Natter
Posts: 1226
Joined: Mon May 14, 2007 9:49 am

String in unicode

Post by Natter »

Hi,

There is a string in unicode. The length of Latin characters is 1 byte, the length of characters of other code pages is 2 bytes.
How to get an array of characters of this string ?
User avatar
Antonio Linares
Site Admin
Posts: 42259
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: String in unicode

Post by Antonio Linares »

Dear Yuri,

Please try:

? WideToStr( cUnicode )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
nageswaragunupudi
Posts: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: String in unicode

Post by nageswaragunupudi »

This is a UTF8 encoded string.
You can use HB_UTF8LEN( cString ) to find the number of characters (not bytes) and HB_UTF8SUBSTR( cString, n, 1 ) to get the nth character (not byte)

Example:
Let us take a sample string in Hex: "41C39CC49EE0B095".
This is displayed as : AÜĞక

Code: Select all | Expand

#include "fivewin.ch"

function Main()

   local cString := HEXTOSTR( "41C39CC49EE0B095" )
   local nChars, n
   local aChars := {}

   ? cString // --> AÜĞక
   ? "Length in Bytes : ", Len( cString ) // --> 8
   ? "Length in Chars : ", nChars := HB_UTF8LEN( cString ) --> 4 
   for n := 1 to nChars
      aAdd( aChars, HB_UTF8SUBSTR( cString, n, 1 ) )
   next

   XBROWSER aChars // { "A", "Ü", "Ğ", "క" }

   AEval( aChars, { |c,i| aChars[ i ] := { c, STRTOHEX( c ), Len( c ) } } )
   XBROWSER aChars SETUP oBrw:cHeaders := { "CHAR","HEX","BYTES" }

return nil
Image
Regards

G. N. Rao.
Hyderabad, India
Natter
Posts: 1226
Joined: Mon May 14, 2007 9:49 am

Re: String in unicode

Post by Natter »

Thank you, I will definitely use it!
User avatar
frose
Posts: 392
Joined: Tue Mar 10, 2009 11:54 am
Location: Germany, Rietberg
Contact:

Re: String in unicode

Post by frose »

For me, these two sources are helpful regarding UTF8:

1. 3.5 Codepage API - UTF8 and code page functions built into Harbour: http://www.kresin.ru/en/hrbfaq_3.html#Doc5

2. Unicode conversion functions for Harbour. http://www.hmgextended.com/files/CONTRI ... onvert.prg unfortunately no longer online :(

Maybe someone can help 8) :wink:
Windows 11 Pro 22H2 22621.1848
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384
Harbour 3.2.0dev (r2008190002)
FWH 23.10 x86
User avatar
Antonio Linares
Site Admin
Posts: 42259
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: String in unicode

Post by Antonio Linares »

regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
frose
Posts: 392
Joined: Tue Mar 10, 2009 11:54 am
Location: Germany, Rietberg
Contact:

Re: String in unicode

Post by frose »

muchas gracias Antonio 8)
Windows 11 Pro 22H2 22621.1848
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384
Harbour 3.2.0dev (r2008190002)
FWH 23.10 x86
Post Reply