Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^3: Directory operations and Unicode

by afoken (Prior)
on Nov 08, 2011 at 13:44 UTC ( #936791=note: print w/ replies, xml ) Need Help??


in reply to Re^2: Directory operations and Unicode
in thread Directory operations and Unicode

When using Win32::COM I subsequently use the OS COM facilities, hence I bypass any Wide APIs, call the Scripting.FileSystemObject and access the filesystem in UTF

No. You don't bypass the Wide APIs, you wrap them using a ridiculously large stack of other APIs. After uselessly burning a lot of CPU cycles, the Scripting.FileSystemObject finally ends calling the Wide APIs.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)


Comment on Re^3: Directory operations and Unicode
Replies are listed 'Best First'.
Re^4: Directory operations and Unicode
by nikosv (Hermit) on Nov 09, 2011 at 05:45 UTC
    hence I bypass any Wide APIs

    in the sense that I don't have to deal or think about them them

    you wrap them using a ridiculously large stack of other APIs. After uselessly burning a lot of CPU cycles

    might be true but it gets the job done. what is your suggestion of doing it otherwise ?

      what is your suggestion of doing it otherwise ?

      Using the "wide" API directly, of course. As long as Perl is compiled as an ANSI application, the only way to do so is to write a module, either using XS or Win32::API. Perl can handle Unicode, the only annoyance is that Perl currently uses a different encoding than Windows, so each and every wrapper function that passes strings from and to Windows needs to convert the strings. DBD::ODBC is an example for this; compiled on Windows, it prefers the "wide" API for ODBC, unless explicitly disabled.

      Alexander

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://936791]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (10)
As of 2015-07-29 00:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (260 votes), past polls