Board index » Web Programming » Escaping escape characters in JScript

Escaping escape characters in JScript

Web Programming261
Hi,



I have been getting hopelessly confused with escaping escape characters in

JScript! All I want to do is write a simple funtion:



function DoubleUpBackSlash(inputString)

{

???????

}



which will do the following:



<%

var inputString = "D:\Internet\test2.txt"

Response.Write(DoubleUpBackSlash(inputString));

%>



...printing out the following on the screen:

D:\\Internet\\test2.txt



Can anyone fill in the blanks in the function for me?



TIA,



JON


-
 

Re:Escaping escape characters in JScript

By the time you're passing the value to your function, you have to already

have the \s escaped. So, if you're hard-coding in the string value, which

you're currently doing, hard-code it with the \s doubled up already.



What are you trying to do with the value afterwards? Are you putting it in

a client-side javascript function? If so, escaping will have to be handled

again, but tell us what you're doing first before we worry about that.



Ray at work



"Jon Maz" <jonmaz@surfeuNOSPAM.de>wrote in message

Quote
Hi,



I have been getting hopelessly confused with escaping escape characters in

JScript! All I want to do is write a simple funtion:



function DoubleUpBackSlash(inputString)

{

???????

}



which will do the following:



<%

var inputString = "D:\Internet\test2.txt"

Response.Write(DoubleUpBackSlash(inputString));

%>



...printing out the following on the screen:

D:\\Internet\\test2.txt



Can anyone fill in the blanks in the function for me?



TIA,



JON











-

Re:Escaping escape characters in JScript

Hi Ray,



This is what I'm after (see my comments in the code):



<%

var fso = Server.CreateObject("Scripting.FileSystemObject");



//doesn't work

var wfile = fso.CreateTextFile("D:\Internet\test2.txt", true);



//works

var wfile = fso.CreateTextFile(" D:\\Internet\\test2.txt", true);



//want this to work!

var wfile =

fso.CreateTextFile(DoubleUpBackSlash("D:\Internet\test2.txt"), true);



wfile.WriteLine("This is a test.");

wfile.Close();

fso = null;

%>



Thanks,



JON











-

Re:Escaping escape characters in JScript

The //want this to work won't work in jscript! Is there any particular

reason that you don't want want to use the built-in escape functionality

that is required? You can't just elect to not use it. If you share the

reason for your desire, you may be surprised by a creative solution!



Ray at work







"Jon Maz" <jonmaz@surfeuNOSPAM.de>wrote in message

Quote
Hi Ray,



This is what I'm after (see my comments in the code):



<%

var fso = Server.CreateObject("Scripting.FileSystemObject");



//doesn't work

var wfile = fso.CreateTextFile("D:\Internet\test2.txt", true);



//works

var wfile = fso.CreateTextFile(" D:\\Internet\\test2.txt", true);



//want this to work!

var wfile =

fso.CreateTextFile(DoubleUpBackSlash("D:\Internet\test2.txt"), true);



wfile.WriteLine("This is a test.");

wfile.Close();

fso = null;

%>



Thanks,



JON















-

Re:Escaping escape characters in JScript

"Jon Maz" <jonmaz@surfeuNOSPAM.de>wrote in message

Quote
Hi Ray,



This is what I'm after (see my comments in the code):



<%

var fso = Server.CreateObject("Scripting.FileSystemObject");



//doesn't work

var wfile = fso.CreateTextFile("D:\Internet\test2.txt", true);



//works

var wfile = fso.CreateTextFile(" D:\\Internet\\test2.txt", true);



//want this to work!

var wfile =

fso.CreateTextFile(DoubleUpBackSlash("D:\Internet\test2.txt"), true);



wfile.WriteLine("This is a test.");

wfile.Close();

fso = null;

%>



Thanks,



JON



Unfortunately, it can't be done. It's the equivalent of trying to create the

DoubleUpQuote function in VBScript. By the time you construct the string to

pass to the function it's already too late. Sort of a weird catch-22

situation.





-

Re:Escaping escape characters in JScript

Jon Maz wrote:

Quote
Hi Ray,



This is what I'm after (see my comments in the code):



<%

var fso = Server.CreateObject("Scripting.FileSystemObject");



//doesn't work

var wfile = fso.CreateTextFile("D:\Internet\test2.txt", true);



//works

var wfile = fso.CreateTextFile(" D:\\Internet\\test2.txt", true);



//want this to work!

var wfile =

fso.CreateTextFile(DoubleUpBackSlash("D:\Internet\test2.txt"),

true);



wfile.WriteLine("This is a test.");

wfile.Close();

fso = null;

%>



Thanks,



JON



If you are supplying a string literal (as above) you would have had to

already have typed in the \\ in order to get the string properly

interpreted. It's the same as if you typed in a string literal containing a

quote in vbscript:



s = "he said "something""



This would not be correctly interpreted either until you doubled the quotes.

s = "he said ""something"""



Bob Barrows



--

Microsoft MVP -- ASP/ASP.NET

Please reply to the newsgroup. The email account listed in my From

header is my spam trap, so I don't check it very often. You will get a

quicker response by posting to the newsgroup.





-

Re:Escaping escape characters in JScript

Hi Ray,



Reason's simple - it was a pain in the you-know-where copying file paths out

of a browser address window and manually doubling up the back slashes, so I

just thought I'd try to automate the process instead...



Cheers,



J





---

Outgoing mail is certified Virus Free.

Checked by AVG anti-virus system (www.grisoft.com).">www.grisoft.com).

Version: 6.0.760 / Virus Database: 509 - Release Date: 10/09/2004





-

Re:Escaping escape characters in JScript

Hi Bob & Chris,



Thanks, that explains what was screwy in my logic!



Cheers,



JON





---

Outgoing mail is certified Virus Free.

Checked by AVG anti-virus system (www.grisoft.com).">www.grisoft.com).

Version: 6.0.760 / Virus Database: 509 - Release Date: 10/09/2004





-

Re:Escaping escape characters in JScript

Wouldn't the browser address use a /?



If your values are already in variables, you don't have to escape the \. If

you have a variable with a value of "D:\Path" you don't have to escape that.



Again, if you show us what you're doing, you may find an answer.



Ray at work





"Jon Maz" <jonmaz@surfeu.de.NOSPAM>wrote in message

Quote
Hi Ray,



Reason's simple - it was a pain in the you-know-where copying file paths

out

of a browser address window and manually doubling up the back slashes, so

I

just thought I'd try to automate the process instead...



Cheers,



J





---

Outgoing mail is certified Virus Free.

Checked by AVG anti-virus system (www.grisoft.com).">www.grisoft.com).

Version: 6.0.760 / Virus Database: 509 - Release Date: 10/09/2004









-

Re:Escaping escape characters in JScript

Sorry Ray, I meant the Windows Explorer address bar, not browser address

bar.



J









---

Outgoing mail is certified Virus Free.

Checked by AVG anti-virus system (www.grisoft.com).">www.grisoft.com).

Version: 6.0.760 / Virus Database: 509 - Release Date: 10/09/2004





-

Re:Escaping escape characters in JScript

How are you pulling in a Windows Explorer address bar from ASP code?



Ray at work



"Jon Maz" <jonmaz@surfeuNOSPAM.de>wrote in message

Quote
Sorry Ray, I meant the Windows Explorer address bar, not browser address

bar.



J









---

Outgoing mail is certified Virus Free.

Checked by AVG anti-virus system (www.grisoft.com).">www.grisoft.com).

Version: 6.0.760 / Virus Database: 509 - Release Date: 10/09/2004









-

Re:Escaping escape characters in JScript

Jon Maz wrote:

Quote
//want this to work!

var wfile =

fso.CreateTextFile(DoubleUpBackSlash("D:\Internet\test2.txt"), true);



The backslash indicates the following character to be printed as is. In

this case you just have "D:Internettest2.txt". However, you may use

another web typical syntax with slashes:



fso.CreateTextFile(makeLocalePath("D:/Internet/test2.txt"), true);



function makeLocalePath(path) {

return path.replace(/\//g,"\\");

}



Daniel

-

Re:Escaping escape characters in JScript

I'm not doing it from code, I'm doing it with the help of a mouse....



I think Bob & Chris, in another branch of this thread, have explained that

what I was trying to do is actually impossible...



J





-

Re:Escaping escape characters in JScript

Thanks, Daniel.



JON





-

Re:Escaping escape characters in JScript

Daniel Kirsch <Iwillnotread_daniel@gmx.de>writes:



Quote
Jon Maz wrote:



>fso.CreateTextFile(DoubleUpBackSlash("D:\Internet\test2.txt"), true);



The backslash indicates the following character to be printed as

is.



Actually, a backslash followed by another character together form an

"escape sequence", which stands for a single character. Some escape

sequences for non-printing characters are

\n - newline

\r - return

\t - tab

(there are more, but not many). For characters which are not defined

as part of a special escape sequence, the escape sequence just becomes

the second character itself.



Quote
In this case you just have "D:Internettest2.txt".



So, in this case, "\t" becomes a tab character, and you have:

"D:Internet est2.txt"

^ This is a tab character, ASCII 8.





/L

--

Lasse Reichstein Nielsen - lrn@hotpop.com

DHTML Death Colors: <URL:www.infimum.dk/HTML/rasterTriangleDOM.html>">www.infimum.dk/HTML/rasterTriangleDOM.html>

'Faith without judgement merely degrades the spirit divine.'

-