js读写cookie方式以及中文乱码问题

CATIA CAA开发环境搭建避坑指南:从授权服务到VS配置全流程 本文提供了一份详尽的CATIA CAA开发环境搭建避坑指南,涵盖从授权服务(DSLS)安装、Visual Studio版本匹配与集成配置,到编译调试全流程。重点解析了授权服务无法连接、模块加载失败等典型问题的解决方案,强调版本严格对应与纯英文环境是成功搭建的关键。 阅读详情

读写cookie是前端工程师在做项目时会经常使用的技术。cookie是浏览器提供的机制、是javascript的另一种机制,可以达到真正全局变量的要求。 它将document 对象的cookie属性提供给JavaScript。可以由JavaScript对其进行控制,而并不是JavaScript本身的性质。

设置cookie

每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie(多个cookie之间用半角的’; ‘分隔)

document.cookie="age=28;userName=hulk"; 

或:(此时为存储多个cookie值)

document.cookie="age=28"; 
document.cookie="userName=hulk"; 

注意:cookie 的名或值中不能使用分号(;)、逗号(,)、等号(=)、空格,以及中文(会出现错误或乱码问题)。
如果必须使用上述的特殊字符,则需要用escape()函数进行编码(以16进制数的形式转码)存储:

document.cookie="userName="+escape("珊珊");   //cookie的存储形式为"userName=%u73CA%u73CA"

改变一个cookie的值,只需重新赋值

读取cookie

cookie的值可以由document.cookie直接获得,获得的是以分号隔开的多个名/值对所组成的字符串,这些名/值对包括了该域名下的所有cookie,如:

var cookies = doucment.cookie;
alert(cookies); //"age=28;userName=%u73CA%u73CA"

如果想读取指定的cookie值,只能自己解析获得到的包含所有cookie的字符串。
例如,要获取age的值,可以这样实现:

var age = document.cookie.split("age=")[1].split(";")[0];   //28

如果想要读取含特殊字符如中文的cookie值,
取出值以后需要使用unescape()进行解码才能得到原来的cookie值
例如,要获取userName的值,可以这样实现:

var name= unescape(document.cookie.split("userName=")[1].split(";")[0]);    //珊珊

给cookie设置终止日期

现在的cookie都是单会话cookie,即浏览器关闭后这些cookie将会丢失,事实上这些cookie仅仅是存储在内存中,而没有建立相应的硬盘文件。
如果需要长期保存cookie(例如保存用户登录的状态就需要长期保存),如10天。可以用下面的方式来实现:

<script> 
    var date = new Date();  //获取当前时间
    date.setTime(date.getTime()+10*24*3600*1000); //获取10天后的时间戳

    //将age和userName两个cookie设置为10天后过期
    document.cookie="age=28;userName=aaa;expires="+date.toGMTString(); 
</script> 

删除cookie

如果要删除一个cookie,可以将其过期时间设定为一个过去的时间。
例如删除age这个cookie:

    var date = new Date();
    date.setTime(date.getTime()-10000);
    document.cookie="age=28;expires="+date.toGMTString();

指定可访问cookie的路径

默认情况下,创建的cookie只可以由它所在目录的 同级目录 或同级目录的 子集目录 访问。
可以使用path参数设置可访问cookie的目录:

document.cookie="age=28; path=/shop";  //表示当前cookie仅能在shop目录下使用。

或

document.cookie="userId=320; path=/";  //表示当前cookie可在整站使用。

可以通过domain参数来实现 跨主机访问:

document.cookie="name=value;domain=.baidu.com";  //这样,所有baidu.com下的主机都可以访问该cookie
沁恒CH32V30X学习笔记02--GPIO的使用教程及2次封装驱动 刚复位后,GPIO 口运行在初始状态,这时大多数 IO 口都是运行在状态所有的 GPIO 口都可以被配置外部中断输入通道,但一个外部中断输入通道最多只能映射到一个GPIO 引脚上,且外部中断通道的序号必须和 GPIO 端口的位号一致,,两方都是一对一的关系。复用功能。 阅读详情

相关推荐

欧姆龙PMAC CK3M控制器新手避坑指南:从开箱到EtherCAT总线配置的完整流程

本文详细介绍了欧姆龙PMAC CK3M控制器的完整配置流程,从开箱检查到EtherCAT总线配置,特别针对新手常见问题提供避坑指南。内容包括硬件连接、软件安装、EtherCAT主站初始化、从站配置、电机参数设置等关键步骤,帮助工程师快速掌握PMAC控制器的使用技巧。

weixin_42532938的博客 391

[转]JS Cookie 中文乱码

首先是一个解析cookie的函数: <script type="text/javascript">function getCookie(name) {var cookies = document.cookie.split(";");for(var i=0;i<cookies.length;i++) {var cookie = cookies[i];...

weixin_30563319的博客 208

计组头哥实验 实验三 MIPS寄存器实验

了解 MIPS 寄存器文件基本概念,进一步熟悉多路选择器、译码器、解复用器等 Logisim 组件的使用,并利用相关组件构建 MIPS 寄存器文件。

gdz0007的博客 1万+

js来读写cookie操作

因为之前公司的项目前后端是在一起的,因为要用vue来重构之前的项目。所以token签名要作为一个参数传递到后台。所以就遇到两个问题,1 token的保存和获取的问题。 2 token 判断。判断用户是否用token值。 首先先说一下 token的保存和获取问题。 保存到哪?随着H5的普及相信大家也都知道本地存储,包括我自己在开发的时候也是也是经常用到本地存储的东西。所以我首先想到的就是本地存储

出埃及记 2416

从永恒之蓝看内网安全:企业如何用Nmap+MSF快速检测445端口风险

本文探讨了企业如何利用Nmap和Metasploit快速检测445端口风险,防范永恒之蓝(MS17-010)漏洞攻击。通过分阶段检测流程和自动化工具组合,企业可高效识别内网风险主机,并实施紧急隔离与长效防护策略,提升整体网络安全防护能力。

weixin_30772105的博客 600

LM358实战:手把手教你搭建电流检测电路(附电阻选型计算)

本文详细解析了使用LM358运算放大器搭建电流检测电路的全过程,包括基础原理、采样电阻选型、放大电路设计及PCB布局技巧。通过实战案例和精确计算,帮助工程师快速掌握低成本、高精度的电流检测方案,适用于电源管理、电机控制等多种应用场景。

weixin_30872157的博客 451

JS cookie的设置、读取和删除

Javascript cookie的设置、读取和删除

to_prototy的博客 1万+

Keil C51里用printf打印数据,为啥总出乱码?手把手教你%bd、%hd、%ld的正确用法

本文深入解析Keil C51中printf打印数据出现乱码的根本原因,并提供格式符%bd、%hd、%ld的正确用法指南。通过详细的调试技巧和实战案例,帮助开发者解决串口输出问题,提升单片机开发效率。

weixin_26854829的博客 281

JavaScript之读取和写入cookie

  首先先让我们简单地了解一下cookie.  在我们制作网页的过程中,经常需要把信息从一个页面传递给另一个页面,这时候就需要用到JavaScript中的cookie机制了。简单说来,cookie提供了一种便捷的方式,能够在用户的计算机上保存少量数据并且远程获得它们,从而让网站可以保存一些细节信息,比如用户的习惯设置或是上一次访问网站的时...

weixin_33981932的博客 576

STM32测测速---编码电机读取速度的计算

速度计算:轮胎每转一圈的脉冲数取决于编码器的分辨率,可由下面公式进行计算:PPR是电机的线数最后可以计算轮胎每转一圈的脉冲数为:轮胎每转一圈的脉冲数 = 9.6 × 11 × 4 = 422.4最后的速度公式简化为:速度 = (0.01 秒内产生的脉冲数 ∗ 0.055 ∗ π )/(0.01 ∗422.4​。

weixin_69414084的博客 3812

面向企业级应用的 SAP UI5 troubleshooting 全景指南:从日志与调试到性能与可测试性

本指南系统化介绍了SAP UI5应用排错的完整流程和工具链。从基础的浏览器开发者工具使用,到SAP UI5专用调试工具(Technical Information Dialog、Support Assistant、Diagnostics Window),再到性能优化和日志管理,提供了一套工程化的解决方案。重点推荐组合使用UI5 Inspector扩展、Test Recorder测试工具以及性能测量模块,并强调将常见问题整理成团队知识库。通过制度化的排错步骤和工具组合,开发者可以快速定位、复现和修复问题,将调

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 284

javascript:cookie中文乱码解决方法

decodeURIComponent 用这个转换一下。

u013938578的博客 457

Python爬虫实战 | 拼多多商品评论采集与深度分析

本文从 API 调用、网页渲染到情感分析与关键词提取,全流程剖析了“拼多多商品评论采集与分析”项目。Scrapy + API 可快速抓取评论;Playwright 可突破 API 限制,抓取完整页面内容;数据清洗 + 分析揭示用户真实反馈;可持续部署、扩展至更多商品 & 时间段;

2201_76125261的博客 1696

客户端Cookie中文编程

客户端Cookie中文编程2000-11-28·  ·YESKY ------------------------------------------------------------------------------- -  在Cookie的使用中,我们发现这样一个问题:如果写入Cookie的内容是中文(如用户 称呼),用服务器端程序(如ASP或PHP)读出完全正确,但是用一般的Ja

peacock的专栏 1175

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

html中读取asp.net向Cookie中写入的中文内容

这几天研究一个B/S架构的系统,在页面间进行参数传递时需要读写Cookie,碰到问题:需在登录界面记录登录者的信息(用户名称)在cookie里,由其它页面读取,登录界面是.aspx文件,系统框架中有一个.html页面,是用javascript写的树形菜单,在树形菜单里要显示用户名称信息,1、javascript可以读取的函数有:1.1、function readCookie(name)

zhwbwelcome的专栏 1230

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Javascript 读写cookie

cookie是浏览器 提供的一种机制,它将document 对象的cookie属性提供给JavaScript。可以由JavaScript对其进行控制,而并不是JavaScript本身的性质。cookie是 存于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次访问这个域名时,便使这个cookie可用。因此,cookie可以跨越一个域名下的 多个网页,但不能跨越多个域名使用。...

认真搞技术 329

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

cookie存取中文

Cookie的使用中,我们发现这样一个问题:如果写入Cookie的内容是中文(如用户称呼),用服务器端程序(如ASP或PHP)读出完全正确,但是用一般的JavaScript或VBScript的读Cookie函数取出的却是一堆乱码。这是一个棘手的问题,因为在有些情况下,Cookie的内容需要在客户机端用脚本语言读取。如果你写入了中文,得到了一堆乱码,是不是感觉很别扭呢?解决这个问题,还要从Cooki

记事本 3122

js读取服务器Cookies时候中文编码问题

写入Cookie内容前需要进行escape(十六进制编码),编码时又是以字节为单位的。     任何一个汉字都会被拆成两个字节分别编码;而js在读Cookie时,unescape又以字节单位解码,因此最后每个汉字都变成了两个字节的乱码。怎么办呢?     在服务器端是不要担心

蓝色月光 471

客户端Cookie中文编程 (转)

客户端Cookie中文编程 (转)[@more@]客户端Cookie中文编程2000-11-28·  ·YESKY ------------------------------------------------------...

csd3176的博客 146

cookie机制详细总结

1111

qq_37002901的博客 4991

javascript读写cookie

这里开始为初学javascript的人介绍cookie cookie概述 假如利用一个不变的框架来存储购物栏数据,而商品显示页面是不断变化的,尽管这样能达到一个模拟全局变量的功能,但并不严谨。例如在导航框架页面内右击,单击快捷菜单中的【刷新】命令,则所有的JavaScript变量都会丢失。因此,要实现严格的跨页面全局变量,这种方式是不行的, JavaScript中的另一个机制:cook...

weixin_30596165的博客 81

cookie 和 session的基本介绍、使用及区别

关于cookie 和 session的介绍、使用及区别

qq_44866810的博客 818

JavaScript学习(九)

cookie localStorage sessionStorage(区别) // localStorage sessionStorage cookie // 都是离线存储,都只能存文本 // html5新增的 早就有了 // 大小5M左右

m0_50950992的博客 159

Cookie与Session原理与实战:登录态机制及安全细节全拆解

HTTP协议本质上是无状态的,每次请求之间相互独立,服务器无法自动识别用户身份。为了让用户在访问网站时保持登录状态,Web开发引入了Cookie与Session机制:Cookie作为保存在浏览器端的身份标识,Session则承载服务端的会话数据。两者配合使用,才能让服务器在多次请求之间正确识别用户。理解这套机制,不仅是应对技术面试的基础,更直接影响实际工程中的跨域登录、分布式会话管理和安全防护。在实践层面,HttpOnly、SameSite、Secure等Cookie属性的配置,以及Session在集群环境

weixin_34021089的博客 421

Cookie、Session与Token:从原理到实战,彻底搞懂Web身份认证

在Web开发中,身份认证是保障系统安全与用户体验的核心机制。其基本原理在于,HTTP协议本身是无状态的,服务器需要一种方式来识别连续请求中的同一客户端。为此,衍生出了多种技术方案。Cookie作为HTTP协议的标准扩展,是浏览器存储和自动携带的小型数据片段,常用于传递会话标识。Session机制则在服务器端维护用户状态,通过Cookie传递的Session ID来关联客户端与服务器存储的数据,解决了状态管理问题,但带来了服务器存储和集群共享的挑战。随着分布式架构和前后端分离的普及,Token(特别是JWT)

weixin_30614109的博客 326

JavaWeb技术内幕三:JavaWeb中文编码问题

Java作为跨平台语言,涉及到的编解码问题也比较多,我们来探讨一下HTTP请求如何控制编码格式。 几种常见的编码格式 为什么要编码 由于计算机只能看懂01,人类只能看懂字符,所以要进行编码和解码。 1 在计算机中,一个字节是最小的信息存储单元,而一个字节只能表示256个字符。 2 人类需要的符号远远超过256个。 如何翻译 各种语言需要交流,如何进行翻译呢,在计算机中提供...

Java技术江湖 867
上一篇: safari浏览器实现模拟click点击事件
下一篇: bootstrap中jquery插件——带下拉菜单的标签页
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值