Jump to page: 1 2
Thread overview
how to get the \uxxxx unicode code from a char
Oct 14, 2014
jicman
Oct 14, 2014
Sean Kelly
Oct 14, 2014
jicman
Oct 14, 2014
Brad Anderson
Oct 14, 2014
Brad Anderson
Oct 14, 2014
Brad Anderson
Oct 14, 2014
jicman
Oct 16, 2014
Sean Kelly
Oct 14, 2014
ketmar
Oct 14, 2014
jicman
Oct 14, 2014
Ali Çehreli
October 14, 2014
Greetings.

Imagine this code,

char[] s = "ABCabc";
foreach (char c; s)
{
  // how do I convert c to something an Unicode code? ie. \u9999.

}

thanks.
October 14, 2014
On Tuesday, 14 October 2014 at 19:47:00 UTC, jicman wrote:
>
> Greetings.
>
> Imagine this code,
>
> char[] s = "ABCabc";
> foreach (char c; s)
> {
>   // how do I convert c to something an Unicode code? ie. \u9999.
>
> }

I'd look at the JSON string encoder.
October 14, 2014
On Tue, 14 Oct 2014 19:46:57 +0000
jicman via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com>
wrote:

> char[] s = "ABCabc";
> foreach (char c; s)
> {
>    // how do I convert c to something an Unicode code? ie. \u9999.
> 
> }
  string res;
  foreach (dchar ch; s) res ~= "\\u%04X".format(ch);
  // here we have the result in res

note "dchar" instead of "char". with "dchar" foreach() does utf-8
decoding (as 's' is in utf-8).


October 14, 2014
On Tuesday, 14 October 2014 at 19:49:16 UTC, Sean Kelly wrote:
> On Tuesday, 14 October 2014 at 19:47:00 UTC, jicman wrote:
>>
>> Greetings.
>>
>> Imagine this code,
>>
>> char[] s = "ABCabc";
>> foreach (char c; s)
>> {
>>  // how do I convert c to something an Unicode code? ie. \u9999.
>>
>> }
>
> I'd look at the JSON string encoder.

JSON?  What does JSON has to do with my basic D? :-) No thanks. :-)
October 14, 2014
On Tuesday, 14 October 2014 at 20:03:37 UTC, jicman wrote:
> On Tuesday, 14 October 2014 at 19:49:16 UTC, Sean Kelly wrote:
>> On Tuesday, 14 October 2014 at 19:47:00 UTC, jicman wrote:
>>>
>>> Greetings.
>>>
>>> Imagine this code,
>>>
>>> char[] s = "ABCabc";
>>> foreach (char c; s)
>>> {
>>> // how do I convert c to something an Unicode code? ie. \u9999.
>>>
>>> }
>>
>> I'd look at the JSON string encoder.
>
> JSON?  What does JSON has to do with my basic D? :-) No thanks. :-)

Sean's saying that the JSON encoder does the same thing so you can look there for how to do it.

https://github.com/D-Programming-Language/phobos/blob/master/std/json.d#L579
October 14, 2014
On Tuesday, 14 October 2014 at 20:05:07 UTC, Brad Anderson wrote:
> https://github.com/D-Programming-Language/phobos/blob/master/std/json.d#L579

Oops. Linked the the parser section. I actually don't see any unicode escape encoder in here. Perhaps he meant the upcoming JSON module.
October 14, 2014
On Tuesday, 14 October 2014 at 20:08:03 UTC, Brad Anderson wrote:
> On Tuesday, 14 October 2014 at 20:05:07 UTC, Brad Anderson wrote:
>> https://github.com/D-Programming-Language/phobos/blob/master/std/json.d#L579
>
> Oops. Linked the the parser section. I actually don't see any unicode escape encoder in here. Perhaps he meant the upcoming JSON module.

Here we go.

https://github.com/s-ludwig/std_data_json/blob/4ecb90626055269f4897902404741f1173fb5e8e/source/stdx/data/json/generator.d#L451

Sönke's is pretty sophisticated. You could probably just use the non-surrogate supporting simple branch.
October 14, 2014
On Tuesday, 14 October 2014 at 19:56:29 UTC, ketmar via Digitalmars-d-learn wrote:
> On Tue, 14 Oct 2014 19:46:57 +0000
> jicman via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com>
> wrote:
>
>> char[] s = "ABCabc";
>> foreach (char c; s)
>> {
>>    // how do I convert c to something an Unicode code? ie. \u9999.
>> 
>> }
>   string res;
>   foreach (dchar ch; s) res ~= "\\u%04X".format(ch);
>   // here we have the result in res
>
> note "dchar" instead of "char". with "dchar" foreach() does utf-8
> decoding (as 's' is in utf-8).

Thanks.  This is a missing function in std.uni or std.string.

josé
October 14, 2014
On Tuesday, 14 October 2014 at 20:13:17 UTC, Brad Anderson wrote:
> On Tuesday, 14 October 2014 at 20:08:03 UTC, Brad Anderson wrote:
>> On Tuesday, 14 October 2014 at 20:05:07 UTC, Brad Anderson wrote:
>>> https://github.com/D-Programming-Language/phobos/blob/master/std/json.d#L579
>>
>> Oops. Linked the the parser section. I actually don't see any unicode escape encoder in here. Perhaps he meant the upcoming JSON module.
>
> Here we go.
>
> https://github.com/s-ludwig/std_data_json/blob/4ecb90626055269f4897902404741f1173fb5e8e/source/stdx/data/json/generator.d#L451
>
> Sönke's is pretty sophisticated. You could probably just use the non-surrogate supporting simple branch.

thanks.  the problem is that I am still in D1. ;-)  over 300K lines of code and growing...
October 14, 2014
On 10/14/2014 01:18 PM, jicman wrote:

> Thanks.  This is a missing function in std.uni or std.string.
>
> josé

I don't know D1 but there is std.utf.decode:

  http://dlang.org/phobos/std_utf.html#decode

Ali

« First   ‹ Prev
1 2