to

阅读 / 问答 / 标签

他坚持与坏人作战用stick to怎么说?

He insisted on fighting the bad guys

关于to do或to doing 什么的短语,初三的,还要有解释

1.remember to do sth.记住要做某事 remember doing sth.记住曾做过某事2.forget to do sth.忘记要做某事 forget doing sth.忘记曾做过某事3.try to do sth.设法要做某事 try doing sth.做某事试试看有何效果4.mean to do sth.打算做某事 mean doing sth.意味着做某事5.can"t help to do sth.不能帮助做某事 can"t help doing sth.禁不住做某事6.go on to do sth.做完某事后接着做另一事 go on doing sth.继续做一直在做的事注:stop to do sth.与stop doing sth.也不同,前者指停下来去做某事,后者指停止正在做的事,但stop to do sth.中的不定式不是宾语,是目的状语。 只+doing做宾语的动词有:finish, enjoy, suggest, mind, dislike, practice, miss, keep, advise, allow, forgive, imagine, prevent, understand, resist, reject, consider, avoid, delay, deny, excuse, admit, endure, escape, pardon, postpone, risk, fancy, tolerate等。还有get/be used to(习惯于), can"t help/ can"t stand(禁不住), feel like, look forward to, pay attention to, give up, be worth, be busy, be fond of(喜欢), object to, lead to, put off, insist on/stick to(坚持), keep on, keen on(渴望), refer to(参考)等短语之后(因为要做介词宾语),以及sb spend sm/st (in), have difficulty/trouble (in), have fun/pleasure (in), it"s no use/good, it"s ( a) waste of time (in), there is no (不可能e.g.: There is no joking about such matters. 译文:这种事开不得玩笑。)等句型后。 只+to do 做宾语的动词有:wish, hope, want(想要), ask, demand, agree, promise, decide, determine, plan, tend, mean(打算), fail, refuse, decline, manage, learn, pretend, choose, prepare, offer, desire, long(渴望), expect, undertake, happen(碰巧), arrange等. 不定式to do和动名词doing作宾语的区别 英语中大多数动词既可跟不定式,也可跟动名词作直接宾语,但有些动词要求: (1)不定式做宾语和宾语补足语 1)下面的动词要求不定式做宾语 attempt企图 enable能够 neglect忽视 afford负担得起 demand要求 long渴望 arrange安排 destine注定 mean意欲,打算 begin开始 expect期望 omit忽略,漏 appear似乎,显得 determine决定 manage设法 cease停止 hate憎恨,厌恶 pretend假装 ask问 dread害怕 need需要 agree同意 desire愿望 love爱 swear宣誓 volunteer志愿 wish希望 bear承受 endeavor努力 offer提供 beg请求 fail不能 plan计划 bother扰乱;烦恼 forget忘记 prefer喜欢,宁愿 care关心,喜欢 happen碰巧 prepare准备 decide决定 learn学习 regret抱歉,遗憾 choose选择 hesitate犹豫 profess表明 claim要求 hope希望 promise承诺,允许 start开始 undertake承接 want想要 consent同意,赞同 intend想要 refuse拒绝 decide决定 learn学习 vow起 contrive设法,图谋 incline有…倾向 propose提议 seek找,寻觅 try试图 2)下面的动词要求不定式做宾补:动词+宾语+动词不定式 ask要求,邀请 get请,得到 prompt促使 allow允许 forbid禁止 prefer喜欢,宁愿 announce宣布 force强迫 press迫使 bride 收买 inspire鼓舞 request请求 assist协助 hate憎恶 pronounce断定,表示 advise劝告 exhort告诫,勉励 pray请求 authorize授权,委托 help帮助 recommend劝告,推荐 bear容忍 implore恳求 remind提醒 beg请求 induce引诱 report报告 compel强迫 invite吸引,邀请, summon传唤 command命令 intend想要,企图 show 显示 drive驱赶 mean意欲,打算 train训练 cause引起 instruct指示 require要求 deserve应受 leave使,让 tell告诉 direct指导 like喜欢 tempt劝诱 entitle有资格 order命令 warn告诫 enable使能够 need需要 urge激励,力说 encourage鼓励 oblige不得不 want想要 condemn指责,谴责 lead引起,使得 teach教 entreat恳求 permit允许 wish希望 (2)有少数动词只能用动名词作宾语 acknowledge承认,自认 cease 停止 mention说到,讲到 admit 承认 tolerate忍受 dislike不喜欢,讨厌 advocate:提倡,主张 complete完成 dread可怕 appreciate 感激,欣赏 confess坦白 endure忍受 avoid避免 contemplate细想 enjoy享有,喜爱 bear忍受 defer拖延 envy嫉妒 can"t help不禁 delay延迟 escape逃跑,逃避 can"t stand受不了 deny否认 excuse借口 consider 考虑 detest嫌恶 fancy幻想,爱好 favor 造成,偏爱 mind 介意 repent悔悟 figure描绘,计算 miss错过 resent怨恨 finish完成,结束不得 pardon原谅,饶恕 resist抵抗,阻止 forgive原谅 permit 允许 resume恢复 imagine设想 postpone延迟,延期 risk冒险 involve卷入,包含 practise 实行,实践 suggest建议 hate讨厌 prevent阻止 save营救,储蓄 keep保持 quit放弃停止 stand坚持,忍受 loathe非常讨厌,厌恶 recall回想 例如:I appreciate having been given the opportunity to study abroad two years ago.我很感激两年前给我出国学习的机会。 (3)有些动词后使用动名词和动词不定式作宾语的差别 1)forget to do 忘记要去做某事(此事未做) forget doing忘记做过某事(此事已做过或已发生) 2)stop to do 停止、中断(某件事),目的是去做另一件事 stop doing 停止正在或经常做的事 3)remember to do 记住去做某事(未做) remember doing记得做过某事(已做) 4) regret to do对要做的事遗憾 regret doing对做过的事遗憾、后悔 5)try to do努力、企图做某事 try doing试验、试一试某种办法 6) mean to do打算,有意要… mean doing意味着 7)go on to do 继而(去做另外一件事情) go on doing 继续(原先没有做完的事情) 8)propose to do 打算(要做某事) proposing doing建议(做某事) 9) like /love/hate/ prefer +to do 表示具体行为;+doing sth 表示抽象、倾向概念 (注)如果这些动词前有should一词,其后宾语只跟不定式,不能跟动名词。例如: I should like to see him tomorrow. 10) need, want, deserve +动名词表被动意义;+不定式被动态表示“要(修、清理等)”意思。 Don"t you remember seeing the man before?你不记得以前见过那个人吗? You must remember to leave tomorrow.你可要记着是明天动身。 I don"t regret telling her what I thought.我不后悔给她讲过我的想法。(已讲过) I regret to have to do this, but I have no choice.我很遗憾必须这样去做,我实在没办法。(未做但要做) You must try to be more careful.你可要多加小心。 Let"s try doing the work some other way.让我们试一试用另外一种办法来做这工作。 I didn"t mean to hurt your feeling.我没想要伤害你的感情。 This illness will mean (your) going to hospital.得了这种病(你)就要进医院。

什么词后面接to

当to作为动词不定式的标志时,后面加动词原形,作为介词的词性时,用v-ing的形式. 这些动词后面接的to用动词原形: want, wish, hope, manage, pretend, decide, learn, agree, expect, demand, long, ask, care, choose, dare, fail, offer, plan, prepare, promise, refuse, desire, happen, appear, intend, would like to, be said toto后用动名词:be/get used to doing 养成做……习惯get down to开始做……;look forward to…盼望……;stick to…坚持做……;lead to…导致……;devote oneself to…献身于……;to be devoted to …献身于……;pay attention to …注意……;object to 反对做……

stick to do 还是 stick doing

stick to sth, 坚持,保有, to 是介词

用stick to翻译:他答应帮助我们,并信守了承诺

他答应帮助我们,并信守了承诺 He promised to help us,and he do stick to his promise. stick to 是原型,你也可以用sticked to(过去式) he promised to help us,and he sticked to his promise. 两个都对,如果一定要用原型你就选第一个,但是第二个更常用.

thanslate sth in to sth

分类: 教育/科学 >> 外语学习 问题描述: 请帮我造句,谢谢,辛苦了 解析: 可能您把问题敲错了。thanslate 应该是translate . translate sth into sth 意思是把....翻译成...... 例句:I have translated all the English words in the book into Chinese .我把这本书里所有的英语单词翻译成了汉语

英语stick to do 还是stick to doing

stick to doing继续做某事,坚持做某事

stick to和insist on用法上的不同 要求有例句

stick to 有忠于(理想等);坚持、继续的意思.它的后面只加名词,强调坚持的是一些观点,理论,态度等 例句: 1.Stick to it!坚持下去! 2.I can stick to my guns. 我能够坚持自己的主张. 3.Reporter should stick to investigating the facts. 记者应该坚持调查事实真相. insist on 是坚决主张;坚决要求;强调的意思.它的后面可以接动名词,强调坚持做某某的行为,动作. 例句: 1.I insist on your taking/insist that you take immediate action to put this right. 我坚决要求你立刻采取行动把事情处理好. 2.I"m afraid we have to call the whole deal off if you still insist on your original quotation. 如果你们仍然坚持原来报价,我们就只好放弃这笔交易. 3.I must insist on more regular hours. 我必须强调起居定时.

stick to后面加动词什么形式

stick to 动词短语:坚持做…这个动词短语中的to不是动词不定式的标志词to,而是介词to,因此后面可以跟名词、人称代词宾格或者动名词,但不可以接动词原形。

stick to (doing)sth是什么时态?

这是个固定词组,词组无时态,句子有时态。这个to是介词,后接动名词。

stick to 是跟名词,动名词,还是都可以?

都可以

stick to与keep区别

遇到很难解决的问题或事情时,依然stick to 坚持到底地去做。强调态度坚定,做事执着。keep doing,表示保持同一个动作并持续做着,强调动作的延续性。keep smiling.

stick to和insist的区别

insist指坚持自己的意见和想法,含有反对不同意见,坚持做某事的意思,通常说 insist on。 We insist on self reliance. 我们坚持自力更生。 We insist upon a definite answer. 我们一定要得到一个肯定的答复。 He insisted on his innocence. 他坚持说他是无罪的。 stick to后接名词,表示始终如一坚持某人的观点、决定、目的、计划等,含有不灰心、不半途而废之意 If you stick to the study of English, you will surely be able to master it. 如果你坚持不懈地学习英语,你一定会掌握它的。 He never sticks to anything for very long. 他做任何事总不能持久。 stick to含义最广,表示“依附、粘贴、粘连,坚持真理、原则,坚守规章制度,坚持做某事、不改初衷,忠于,和…保持长期友好关系”等。一般用于褒义。 insist on不如前者广义,表示“坚持、一定要,决心、意志, 坚持说、强调, 坚决主张、认为”等。一般用于褒义。 persist in含义最窄,表示“坚持到底、干到底、固执”。既可用于褒义的“意 志坚决”,也可表示贬义的“固执己见、一意孤行”等。We should persist in the mass line. 我们应该坚持群众路线。 My son persists in reading in bed. 我儿子坚持躺在床上看书。 She insisted on a definite answer. 她坚持要一个明确的答复。 I"ll stick to her through thick and thin. 我自始至终支持她。 If you stick to the truth, you"ll have nothing to fear. 如果你坚持真理,你就 没有什么可害怕的。 The stamp sticks to the envelope. 邮票粘在信封上。

stick to后加什么

名词,或者动名词

stickto后面可以不接吗

stick to 坚持;遵守;粘附在…上;紧跟,紧随 关键是要理解这个to 不是不定式的to,而是介词,因此,不能跟动词原形,必须跟名词,动名词,代词宾格

insist on 和stick to 区别

stick to: 坚持 例句与用法: 1. Stick to it! 坚持下去! 2. I can stick to my guns. 我能够坚持自己的主张。 3. Reporter should stick to investigating the facts. 记者应该坚持调查事实真相。 4. You may flour the pastry board so that the dough doesn"t stick to it. 你可以在做糕点的面板上撒些面粉,这样揉好的面粉就不会粘到板上了。 5. Flies" feet stick to surfaces by suction. 苍蝇的脚借吸力可附着于物体表面上。 6. We must stick to our task till it is finished. 我们必须继续工作, 直至做好为止。 7. Don"t romanticize stick to the facts. 别夸夸其谈了--说实际的吧。 8. We don"t want to hear your opinions; stick to the facts! 我们不想听你的想法, 只讲事实! insist on: vt. 坚持(强调,坚决要求,坚决主张) 例句与用法: 1. I insist on your taking/insist that you take immediate action to put this right. 我坚决要求你立刻采取行动把事情处理好. 2. I"m afraid we have to call the whole deal off if you still insist on your original quotation. 如果你们仍然坚持原来报价,我们就只好放弃这笔交易。 3. I must insist on more regular hours. 我必须强调起居定时。 4. I still insist on my viewpoint. 我仍坚持我的观点。 5. The bank will insist on collateral for a loan of that size. 银行对这样的大笔贷款一定要有抵押物。 6. I always insist on wholemeal bread. 我一贯主张要吃全麦面包.

insist on与stick to的区别 这两个词组在用法上有什么区别呀

stick to 强调坚持的是一些观点,理论,态度等 insist on 强调坚持做某某的行为,动作 stick to:坚持 例句与用法: 1.Stick to it! 坚持下去! 2.I can stick to my guns. 我能够坚持自己的主张. 3.Reporter should stick to investigating the facts. 记者应该坚持调查事实真相. 4.You may flour the pastry board so that the dough doesn"t stick to it. 你可以在做糕点的面板上撒些面粉,这样揉好的面粉就不会粘到板上了. 5.Flies" feet stick to surfaces by suction. 苍蝇的脚借吸力可附着于物体表面上. 6.We must stick to our task till it is finished. 我们必须继续工作,直至做好为止. 7.Don"t romanticize stick to the facts. 别夸夸其谈了--说实际的吧. 8.We don"t want to hear your opinions; stick to the facts! 我们不想听你的想法,只讲事实! insist on:vt.坚持(强调,坚决要求,坚决主张) 例句与用法: 1.I insist on your taking/insist that you take immediate action to put this right. 我坚决要求你立刻采取行动把事情处理好. 2.I"m afraid we have to call the whole deal off if you still insist on your original quotation. 如果你们仍然坚持原来报价,我们就只好放弃这笔交易. 3.I must insist on more regular hours. 我必须强调起居定时. 4.I still insist on my viewpoint. 我仍坚持我的观点. 5.The bank will insist on collateral for a loan of that size. 银行对这样的大笔贷款一定要有抵押物. 6.I always insist on wholemeal bread. 我一贯主张要吃全麦面包.

stick to 与insist on 有什么区别

stick to: 坚持 例句与用法: 1. Stick to it! 坚持下去! 2. I can stick to my guns. 我能够坚持自己的主张。 3. Reporter should stick to investigating the facts. 记者应该坚持调查事实真相。 4. You may flour the pastry board so that the dough doesn"t stick to it. 你可以在做糕点的面板上撒些面粉,这样揉好的面粉就不会粘到板上了。 5. Flies" feet stick to surfaces by suction. 苍蝇的脚借吸力可附着于物体表面上。 6. We must stick to our task till it is finished. 我们必须继续工作, 直至做好为止。 7. Don"t romanticize stick to the facts. 别夸夸其谈了--说实际的吧。 8. We don"t want to hear your opinions; stick to the facts! 我们不想听你的想法, 只讲事实! insist on: vt. 坚持(强调,坚决要求,坚决主张) 例句与用法: 1. I insist on your taking/insist that you take immediate action to put this right. 我坚决要求你立刻采取行动把事情处理好. 2. I"m afraid we have to call the whole deal off if you still insist on your original quotation. 如果你们仍然坚持原来报价,我们就只好放弃这笔交易。 3. I must insist on more regular hours. 我必须强调起居定时。 4. I still insist on my viewpoint. 我仍坚持我的观点。 5. The bank will insist on collateral for a loan of that size. 银行对这样的大笔贷款一定要有抵押物。 6. I always insist on wholemeal bread. 我一贯主张要吃全麦面包.

stick to的意思

你好,最常用的是坚持不懈的意思

stick to什么意思

stick to的意思是:遵守一、短语搭配:(1)let the cobbler stick to his last管好自己懂得的事;不懂的事别插手(2)stick to one"s knitting专心做熟悉的事(3)stick to one"s gun拒绝妥协;坚持自己的立场(4)stick to one"s ribs撑人而且有营养的二、双语例句:(1)Would you like some wine or would you rather stick to sherry?你想喝葡萄酒还是宁肯坚持喝雪利酒?(2)The clock has a magnetic back to stick to the fridge.钟的背面有磁性,可以吸在冰箱上。(3)They are under no obligation to stick to the scheme.他们不受必须恪守该方案的任何约束。三、近义词:stand on坚持;persist in坚持

pentone p 144-14C 是什么色卡

Pantone P144-14C 是潘通四色叠印色卡里面的颜色,型号是GP5101,色卡图片如下图:

“nice talking to you ”和“nice talk to you”有什么区别?

回答如下:其实两者之间差别不大。然而必须在两者之间作出区别,我要说,“Nice to talk to you” 通常被用来当您你开始跟对方说话时用。 “To talk”表示谈话将很快开始,因此不宜在谈话结束用。另一方面,“Nice talking to you” 通常是在谈话结束用, Talking表示谈话正在进行或已经发生。现在时和现在进行时的区别。概念不同一般现在时表示现在的状态;表示经常的或习惯性的动作;表示主语具备的性格、能力等。现在进行时表示现在某一时刻或某段时间正在进行的动作或存在的状态。结构不同1. 一般现在时的结构(以肯定句为例)有以下几种形式:⑴ 动词be第一人称单数用am,第三人称单数用is,其他的一律用are。例如:I am a student. 我是个学生。He is an American. 他是个美国人。They are good friends. 他们是好朋友。⑵ 动词have除了第三人称单数用has外,其他一律用have。例如:He has two brothers. 他有两个兄弟。We have English classes every day.我们每天都上英语课。⑶ 实义动词除第三人称单数在动词原形后加-s或-es外,其他一律用动词原形。例如:His mother works in a hospital.他母亲在一家医院工作。Children like to play this game.孩子们喜欢玩这种游戏。2. 现在进行时的结构为:助动词be(am/is/are)+ v-ing形式。例如:We are singing and they are dancing.我们在唱歌,他们在跳舞。时间状语不同1. 一般现在时的时间状语通常为often,always,usually,sometimes,every day/week/month等。例如:I get up at six every day. 我每天六点钟起床。He often goes to school on foot. 他经常步行上学。Sometimes they play football after school. 有时他们放学后踢足球。2. 现在进行时的时间状语通常为now;有时有look, listen等词语提示。例如:What are they doing now? 他们现在在干什么?Look! The bird is flying in the sky. 看!鸟在空中飞行。

nice talking to you 和nice talk to you有什么区别

应该是nice to talk to you“Nice to talk to you” 和 “Nice talking to you” 之分别:其实两者之间差别不大。然而必须在两者之间作出区别,我要说,“Nice to talk to you” 通常被用来当您你开始跟对方说话时用。 “To talk”表示谈话将很快开始,因此不宜在谈话结束用。另一方面,“Nice talking to you” 通常是在谈话结束用, Talking 表示谈话正在进行或已经发生。 “Nice talking with you” 和“Nice talking to you” 之分别两者之间差别不大。“with” 倾向于建议两个人之间的谈话是对话方式,而“To” 是指你单一方面说有如独白,讲学,就我个人而言,我会在谈话结束之前说“Nice Talking to You" . 很简单和有礼貌 , 我不会担心该句语法或实际意义。

请问服装外贸中 proto sample 是什么样衣?

初板. 第一次打出来的样品. 也叫"头办"

talking to和talking for 有什么区别??

for prep. 介词时(表示目的)为了, 因为, 至于, 对于, 适合于 例句:I will wait for you.conj. 连词时因为 例句:Einstein received worldwide praise for his scientific research.to prep. 介词to的用法 一:表示相对,针对 be strange to 二:表示对比,比较 1:以-ior结尾的形容词,后接介词to表示比较 senior,junior 2: 一些本身就含有比较或比拟意思的形容词 A is similar to B in many ways. 3:表示一些先后顺序的形容词 they returned to their hometown 4: to也偶尔出现在个别动词之后,与动词形成固定词组,表示比较 compare to sth. 5: to与及个别的名词构成比较之意, Going to an under water concert is a great alternative to going to dinner. 三: 表示修饰关系 1: 表示回复,反应意思的词 answer to question 2: 表示建筑构件的词汇 the approach to science 3: 表示人物职位和官衔的词 assistant to manager 4: 表示权利和许可的词汇 Everyone has an equal right to 5: 表示栅栏或障碍的词汇 the barrier to progress 6: 表示与书籍,文本相关的词 introduction to passage 7: 表示恭喜或是祝贺 Let"s drink to Dick"s success in business 8: 另外还有一些名词符合这种用法,有的具有两者息息相关,缺一不可的含义 guide to action 四: to还具有依据,伴随,和着节奏的含义 sing to piano (一):表示相关联,相连接 be related to (二):表示反对和赞同 1:to引导的表示反对,抗拒,对抗意义的词组 Be opposed to 2: to引导的表示同意,赞同意义的词组 The employer consented to give him a salary raise 3: 表示投降,屈服,服从的含义 confess to 五: 表示趋势或倾向, tend to 六: 表示对事情的坚持与执着 He still holds on to his original views 七: 表示约束,局限 limit to 八: 表示一种习惯或是一种适应性 get (be) to 九: 表示起因和原由 due to 十: 表示目的或结果 lead to of prep. 介词...的, 由...制成的, 离, 关于, 对于用法 1: 表示剥夺,除去 clarify the river of flowing rubbish 2: of接直接宾语 remind sb. of his duties 3: of接间接宾语 ask a question of sb 4: of表示人物的特性,籍贯,特性或出生等 He is of Irish descend 5: 固定词组 The room smells of stale cabbage. http://zhidao.baidu.com/question/8520886.html供您参考

歌词翻译:《samson》歌手: Regina Spektor

萨姆森 歌手:里贾纳spektor专辑:开始希望 你是我的香甜的灭亡 我爱你首先,我爱你们第一 下方张纸张在于我的真相 我已去,我已去 你的头发是长的,当我们第一次见面 黄山又回到床上 没有太大的头发上留下他的头部 他吃了片面包和不知道的权利,去回床 和历史书籍,忘记了关于我们与圣经中没有提及我们 与圣经中没有提及我们,甚至没有一次 你是我的香甜的灭亡 我爱你首先,我爱你们第一 下方星级来到fallin "对我们的元首 但是,只是他们很旧的轻,只是他们很旧轻 你的头发是长的,当我们第一次见面 黄山来到我的床 告诉我,我的头发是红色的 告诉我,我是美丽的生效我的床 哦i削减他的头发,自己一晚 一对枯燥无味的剪刀,在黄灯 他告诉我,我想要做的好吧 吻我"的TIL该mornin "轻, mornin "轻 他吻我"的TIL该mornin "轻 黄山又回到床上 没有太大的头发上留下他的头部 吃了片wonderbread到的权利,回床 哦,我们不能把栏目下跌 是啊,我们不能摧毁一个单一的一 和历史书籍,忘记了关于我们 与圣经中没有提及我们,甚至没有一次

protobuf报错command not found: protoc和Brew Link失败

因为安装其他东西动了环境导致protobuf的命令无法执行。报错 command not found: protoc 。没找到原因,想着就直接卸载重装了protobuf。 $ brew uninstall protobuf //然后重新安装 $ brew install protobuf 安装之后link失败了,报错如下 网上找了一圈,执行下就可以重新link了。 然后protobuf指令也正常了。 指令来源

SpringBoot使用protobuf生成的model进行传参无法序列化

配置后不生效,报错信息如下: 最开始怀疑是ProtobufHttpMessageConverter没有注册到HttpMessageConverter的列表中,于是开始跟踪源码发现HttpMessageConverter列表中已经添加上了: 既然已经添加进去了,那为什么不走转换器的逻辑,继续往下走发现: converter.canWrite(valueType, selectedMediaType)这个方法返回false导致body没有进行适配,下面进行判空逻辑后就会抛出异常: 继续跟下去,canWrite是调用了父类org.springframework.http.converter.AbstractHttpMessageConverter#canWrite: 而ProtobufHttpMessageConverter其实已经重写了supports与canWrite方法: 这里发现根源其实是Message.class.isAssignableFrom(clazz)返回的false。那么难道protobuf生成的model不是com.google.protobuf.Message的子类吗? 查看生成的java文件发现model确实不是继承的GeneratedMessageV3,而是继承了GeneratedMessageLite。至此发现了导致问题的根源。

go的protobuf这个问题是不是一个bug

客户端lua,通信协议是protobuf,以前用网易的proto-gen-lua,使用过程遇到些问题需要绕,比如: 1、每次更改、增加proto都要生成新的文件,代码规模剧增 2、由于lua本身,每个文件最大文件内全局local变量不能超过200个,所以当proto规模太大时。

ip-proto 253是什么

这个是思科的配置,本人不太熟悉...解释仅供参考... ip forward-protocol udp bootpsservice dhcp这个是开启DHCP服务... spanning-tree rmon enable这个是开启生成树协议... !forward protocol udp 67(active)!ip helper-address 125.219.152.18指定DHCP服务器的地址... 最后一条配置静态默认路由,即网关...

怎么把.proto格式文件转化成.cs C#脚本?

这个把后缀修改了,就可以,当然内容要调整

talking to是什么意思

说话,望采纳

解决protobuf忽略空返回值的问题

最近在用Kratos开发项目的时候遇到了问题,repeated类型的字段在值为空的情况下,字段被直接忽略掉了。 我希望的是即使为空的情况下也能返回一个空数组,而不是直接把整个字段忽略掉,就像下面这样: 经过多方排查之后找到了问题所在,google会在生成pb.go文件时在json标签里插入 omitempty 属性,而json库在转换json时一旦遇到这个标签就会忽略掉空字段,这不符合我的需求,所以把这个字段去掉就好了。 先写一个shell脚本来递归遍历api目录下的pb.go文件: 接着修改Makefile文件: 在api的最下面添加替换脚本,流程就是遍历scandir脚本查出来的pb.go文件,替换掉文件里所有的omitempty,然后将文件暂存为.tmp,最后再覆盖原文件。 今后每次执行make api时就会连带自动替换掉所有生成文件中的omitempty,免得每次手动替换麻烦又容易出错。 参考: https://ld246.com/article/1591110788411

模具中PR:PROTO, OT:OFF TOOL, OP:OFF TOOL & OFF PROCESS 上面PR,OT,OP 是什么意思啊!

PR prototype 的缩写吧 未开模产品样件OT 可能指的是 OTS off tooling samples 全状态工装非生产节拍下的样件请说的在具体一点

怎么把.proto格式文件转化成.cs C#脚本?

这个把后缀修改了,就可以

SMT表面贴机中的prototpye调较一般包括哪些参数?

元件品号,位号,坐标,方向,封装尺寸,feeder型号,吸嘴型号,真空压力大小。

如何对 protobuf-lite编程,c++ android

protocol buffer编译器生成 Foo 类,公开地(publicly)派生自 google::protobuf::Message。Foo类是一个实体类;禁止遗留下纯虚的方法没有被实现。除了 Message 中的虚方法之外,非纯虚的方法可以由 Foo 类重载也可以不重载,取决于优化模式。缺省,为了最高的速度, Foo 实现特定protocol buffer版本的所有方法。不管怎样,如果 .proto 文件包含下列行:1 option optimize_for = CODE_SIZE;Foo 将仅重载运行必需的最小方法集合,和依赖于基于反射实现的剩余部分。这意味着减小了生成代码的大小,但也减小了性能。或者,如果 .proto 文件包含:1 option optimize_for = LITE_RUNTIME;Foo 将包含所有方法的快速实现(fast implementations),但是是实现 google::protobuf::MessageLite 接口,仅包含 Message 中所有方法的一个子集。尤其,它不支持描述符(descriptors)或反射。不管怎样,以这种方式生成的代码只需要连接 libprotobuf-lite.so (Windows上是 libprotobuf-lite.lib) 而不是 libprotobuf.so(libprotobuf.lib)。"lite"库比 "full"库(完整的库)要小很多,更适用于资源受限的系统,比如手机。你不应该创建 Foo 的子类。如果你子类化 Foo ,并且重载虚方法,重载可能被忽略,就像很多生成的方法为了提高性能被去虚拟化(de-virtualized)。

protobuf 生成的变量会不会自动销毁

要看具体变量的类型,看个例子吧:在网络游戏中,游戏玩家之间的同步是一个最基本的功能,而同步是通过对坐标的广播进行的,因此我们假设一个简单的模型,当一个玩家的位置发生变化时,将玩家的新位置发给地图内所有玩家,根据这个情况写出以下proto文件。message PlayerPos{ required uint32 playerID = 1; required float posX = 2 ; required float posY = 3 ;}这样就有一个问题,现在的游戏都是3D游戏,因此需要xyz来表示位置,还需要另一组xyz来表示朝向,如果用简单变量的话就会显的很乱,而且无论是位置还是朝向其实都是一组xyz,因此可以将xyz抽出来成为一个复合数据类型,单独放在一个文件中。这样就构成以下文件。file vector.protomessage vector3D{required float x = 1;required float y = 2;required float z = 3;};file Player.protoimport "vector.proto";message PlayerPos {required uint32 playerID = 1;required vector3D pos = 2;};编译的时候先编译vector文件,采用import时需要注意路径,本例中两文件在同一目录下。protoc --cpp_out=. vector.proto Player.protoproto对应的文件已经生成了,但是该怎么赋值呢,查API查了半天有点不知所以,干脆来看生成的类文件的源代码吧 // required uint32 playerID = 1; inline bool has_playerid() const; inline void clear_playerid(); static const int kPlayerIDFieldNumber = 1; inline ::google::protobuf::uint32 playerid() const; inline void set_playerid(::google::protobuf::uint32 value); // required .vector3D pos = 2; inline bool has_pos() const; inline void clear_pos(); static const int kPosFieldNumber = 2; inline const ::vector3D& pos() const; inline ::vector3D* mutable_pos(); inline ::vector3D* release_pos(); inline void set_allocated_pos(::vector3D* pos);上面列出了生成的部分源代码,主要是PlayerPos的操作变量的函数,第一个playID很简单,可以看到直接使用set_playerid ( ) 即可,但是对于嵌套的pos 发现没有对应的set_pos方法,不过发现了一个set_allocated_pos() 函数,这个函数也是set开头的,看看这个函数是干嘛的。 inline void PlayerPos::set_allocated_pos(::vector3D* pos) { delete pos_; pos_ = pos; if (pos) { set_has_pos(); } else { clear_has_pos(); }}看上去可以赋值,直接调用set_allocated_pos() 进行赋值看一看PlayerPos player;vector3D tmp;tmp.x = 1;tmp.y = 2;tmp.z = 3;player.set_allocated_pos(&tmp)编译没问题,但是运行时出现错误,而且是很奇怪的错误,仔细了查看一下PlayerPos的源码,发现一个问题::vector3D* pos_; ::google::protobuf::uint32 playerid_;上面是PlayerPos中变量的保存形式,发现pos是作为一个指针存储的,如果按照之前的赋值 tmp 是一个局部变量,函数返回时局部变量自动销毁,而pos_保存的仍然是已被销毁的tmp的位置,因此会出错,如果采用new的话就可以解决这个问题,即赋值方法如下PlayerPos player;vector3D *tmp = new Vector3D;tmp->x = 1;tmp->y = 2;tmp->z = 3;player.set_allocated_pos(tmp)这样即可,编译运行都没有问题。如此之外,还有一种赋值方法,就是调用mutable_pos()inline ::vector3D* PlayerPos::mutable_pos() { set_has_pos(); if (pos_ == NULL) pos_ = new ::vector3D; return pos_;}mutable_pos () 中自己new出了一个vector3D 对象,而vector3D中又实现了赋值的重载,因此可以这样解决PlayerPos player;vector3D *tmp = player.mutable_pos();tmp->x = 1;tmp->y = 2;tmp->z = 3;

talking about、talking to和talking with的区别及用法

答:talk是“谈”,about是“关于”,to是‘对着",with是‘和...一起", 所以talk about 相当于汉语的“谈论”,宾语可以是事情,与可以是人, talk to是“对...谈话”,宾语是人,常为上级对下级. talk with是“和..交谈”,宾语是人,同辈,或当同辈来看.

to talk=talking吗

简单点给你说吧:to talk是要说什么,talking是现在在说什么

解释一下 从proto-oncogene转变到 oncogene的三种方式

转座:类似于插入突变,就是说转座子的插入使得原来的基因编码发生了突变基因放大:这个可能类似于基因突变中的重复点突变:这个不用详细解释,你懂得,点突变诱发蛋白质变异,导致细胞状态的转变。希望能帮到你。

talking about,talking to和talking with的区别及用法

talking about就是说 讲述/谈论某些事情 譬如 Mike and Jane are talking about their frist trip to China next month.Mike 还有 Jane 在谈论他们下个月的第一次中国之旅。Talking to就是向某人说话啊譬如 I talked to him about my French course yesterday.我昨天和他说了关于我法语课程的事情Talking with 就是和谁说话啊 Mr.Row is talking with his boss.Row和他老板正在聊天.

为什么Protobuf的默认序列化格式没有包含消息的长度与类型

Protobuf 是经过深思熟虑的消息打包方案,它的默认序列化格式没有包含消息的长度与类型,自然有其道理。哪些情况下不需要在 protobuf 序列化得到的字节流中包含消息的长度和(或)类型?我能想到的答案有:如果把消息写入文件,一个文件存一个消息,那么序列化结果中不需要包含长度和类型,因为从文件名和文件长度中可以得知消息的类型与长度。如果把消息写入文件,一个文件存多个消息,那么序列化结果中不需要包含类型,因为文件名就代表了消息的类型。如果把消息存入数据库(或者 NoSQL),以 VARBINARY 字段保存,那么序列化结果中不需要包含长度和类型,因为从字段名和字段长度中可以得知消息的类型与长度。如果把消息以 UDP 方式发生给对方,而且对方一个 UDP port 只接收一种消息类型,那么序列化结果中不需要包含长度和类型,因为从 port 和 UDP packet 长度中可以得知消息的类型与长度。如果把消息以 TCP 短连接方式发给对方,而且对方一个 TCP port 只接收一种消息类型,那么序列化结果中不需要包含长度和类型,因为从 port 和 TCP 字节流长度中可以得知消息的类型与长度。如果把消息以 TCP 长连接方式发给对方,但是对方一个 TCP port 只接收一种消息类型,那么序列化结果中不需要包含类型,因为 port 代表了消息的类型。如果采用 RPC 方式通信,那么只需要告诉对方 method name,对方自然能推断出 Request 和 Response 的消息类型,这些可以由 protoc 生成的 RPC stubs 自动搞定。对于最后一点,比方说 sudoku.proto 定义为:service SudokuService {rpc Solve (SudokuRequest) returns (SudokuResponse);}那么 RPC method Sudoku.Solve 对应的请求和响应分别是 SudokuRequest 和 SudokuResponse。在发送 RPC 请求的时候,不需要包含 SudokuRequest 的类型,只需要发送 method name Sudoku.Solve,对方自知道应该按照 SudokuRequest 来解析(parse)请求。这个例子来自我的半成品项目 evproto。对于上述这些情况,如果 protobuf 无条件地把长度和类型放到序列化的字节串中,只会浪费网络带宽和存储。可见 protobuf 默认不发送长度和类型是正确的决定。Protobuf 为消息格式的设计树立了典范,哪些该自己搞定,哪些留给外部系统去解决,这些都考虑得很清楚。只有在使用 TCP 长连接,且在一个连接上传递不止一种消息的情况下(比方同时发 Heartbeat 和 Request/Response),才需要我前文提到的那种打包方案。(为什么要在一个连接上同时发 Heartbeat 和业务消息?请见陈硕《分布式系统的工程化开发方法》 p.51 心跳协议的设计。)这时候我们需要一个分发器 dispatcher,把不同类型的消息分给各个消息处理函数,这正是本文的主题之一。

Protobuf语法介绍

我们先看看官方文档给出的定义和描述 简单来讲, ProtoBuf 是结构数据序列化方法,可简单类比于,其具有以下特点: 在protobuf中,协议是由一系列的消息组成的。因此最重要的就是定义通信时使用到的消息格式。一个Protobuf 消息(对应JAVA类),由至少一个字段(对应Java类属性)组合而成。 消息的定义很简单,就是message关键字加上消息的名字 字段定义格式: 限定修饰符 | 数据类型 | 字段名称 | = | 字段编码 required: 表示是一个必须字段,必须相对于发送方,在发送消息之前必须设置该字段的值,对于接收方,必须能够识别该字段的意思。发送之前没有设置required字段或者无法识别required字段都会引发编解码异常,导致消息被丢弃。 optional: 表示是一个可选字段,可选对于发送方,在发送消息时,可以有选择性的设置或者不设置该字段的值。对于接收方,如果能够识别可选字段就进行相应的处理,如果无法识别,则忽略该字段,消息中的其它字段正常处理。---因为optional字段的特性,很多接口在升级版本中都把后来添加的字段都统一的设置为optional字段,这样老的版本无需升级程序也可以正常的与新的软件进行通信,只不过新的字段无法识别而已,因为并不是每个节点都需要新的功能,因此可以做到按需升级和平滑过渡。 repeated: 表示该字段可以包含0~N个元素。其特性和optional一样,但是每一次可以包含多个值。可以看作是在传递一个数组的值。类比于Java这边的List protobuf定义了一套基本的数据类型,几乎都映射了Java语言的基础数据类型(主要以Java为例) 详见下面表格 字段的命名方式与Java的命名方式大致一致 字段编码是一个序列化和反序列化的标记值,有了该值,通信双方才能互相识别对方的字段。当然相同的编码值,其限定修饰符和数据类型必须相同。编码值的取值范围为 1~2^32(4294967296) 其中 1~15的编码时间和空间效率都是最高的,编码值越大,其编码的时间和空间效率就越低(相对于1-15),当然一般情况下相邻的2个值编码效率的是相同的,除非2个值恰好实在4字节,12字节,20字节等的临界区。比如15和16 1900~2000编码值为Google protobuf 系统内部保留值,建议不要在自己的项目中使用。protobuf 还建议把经常要传递的值把其字段编码设置为1-15之间的值 完整的消息定义示例 枚举的定义和Java 相同,使用 enum 关键字,但是有一些限制。 枚举值必须大于等于0的整数。 使用分号 ; 分隔枚举变量而不是Java 语言中的逗号 , 示例: 你可以将其他消息类型用作字段类型。已我们现在IM的为例,在每一个CSSendLiveRoomMsgReq消息中包含ImMsgBody消息,此时可以在相同的.proto文件中定义一个ImMsgBody消息类型,然后在CSSendLiveRoomMsgReq消息中指定一个ImMsgBody类型的字段 示例: 如果你的消息中有很多可选字段, 并且同时至多一个字段会被设置, 你可以加强这个行为,使用oneof特性节省内存,Oneof字段就像可选字段, 除了它们会共享内存, 至多一个字段会被设置。 设置其中一个字段会清除其它字段。 为了在.proto定义Oneof字段, 你需要在名字前面加上oneof关键字, 比如下面例子的ImMsgBody: oneof的特性

talking about、talking to和talking with的区别及用法

答:talk是“谈”,about是“关于”,to是‘对着",with是‘和...一起", 所以talk about 相当于汉语的“谈论”,宾语可以是事情,与可以是人, talk to是“对...谈话”,宾语是人,常为上级对下级. talk with是“和..交谈”,宾语是人,同辈,或当同辈来看.

服装外贸中 proto sample 是什么样衣

16、惠崇《春江晓景》 苏轼

golang gRPC xorm 优雅的解决proto没有int类型?

type Info struct{Age int32 `xorm:" INT(8)"`}字段超多可以从数据库用xorm reverse出来结构,或者直接querystring 得到map[string]string,想怎么处理都行。另外,没太明白你要问什么。

了解一下ProtoBuf

我们在进行网络通信调用的时候,总是需要将内存的数据块经过序列化,转换成为一种可以通过网络流进行传输的格式。而这种格式在经过了传输之后再经过序列化,能还原成我们预想中的数据结构。 那么我们对于这种用于中间网络传输的数据格式就有一定的要求。首先它可以准确地描述数据内容,在此基础上我们则希望它尽量的小。 最开始流行起来的是XML,可扩展标记语言。由于它可以用来标记数据、定义数据类型,所以用户可以自己定义数据自己的语言,从而让对不同的数据结构化成统一的格式称为了可能。 而另外一个我们熟知的则是JSON(JavaScript Object Notation, JS 对象简谱)。尽管JSON中缺少了XML中的标签属性等描述方式,但是足够简介和清晰的层次结构使得其成为了必XML更受欢迎的数据交换格式。 同一份数据显然JSON的数据量比XML所使用的空间更少。那么空间省略在哪里呢?一方面是json使用更简单的字符来定义数据间的关联关系;另一方面是JSON减少了对数据类型的描述。但是丢少的数据类型再哪里呢? 以Java中的 OpenFeign 举例,JSON中缺少的类型定义被定义道程序中的接口中了。当进行序列化与反序列化时,JSON格式并不记录数据的类型,具体的数据类型在序列化方与反序列化方通过事先约定的接口来进行定义。这样就减少了信息传输过程中的信息量,从而让数据得以压缩。 但是JSON由于没有定义数据类型,所以在传输的过程中实际上就都是文本流,那么这种方法还可以进一步压缩吗? 结合上文的讨论,我们先说结论:方法是有的,并写当前的实现方式是ProtoBuf。但在此之前我们先来了解一下ProtoBuf。 我们可以先看看官方给出的定义与描述: 同样的,ProtoBuf也是一种支持序列化反序列化的方法,并且他具有很多优点: 实际上,ProtoBuf提供了一种通用的数据描述方式,这种定义数据的方式是通用的,就如同JSON或者XML一样。 接下来我们来来回答本节一开始的问题,针对JSON来说,ProtoBuf是如何将体积变得更小的呢?答案很简单,就是为数据序列化反序列化提供更多的先验知识。 本文暂不过度深入ProtoBuf原理,但是可以通过一张图来进行简要说明(): ProtoBuf中的数据是按顺序进行排列,而整体的结构为若干个field,每一个field中由 Tag-[Length]-Value 组成。Length是可选的,而是否存在Length是通过Tag的类型来决定的。也就是说如果是指定的类型,比如int64,那我们就可以知道Value的长度,也就不用在依靠Length来对其空间进行描述(redis中的压缩列表也是这个思想)。 那么field应该对应的是什么字段呢?这个则是在序列化与反序列化时在ProtoBuf的服务端与客户端之间进行预先定义的。而因为提前定义了field的类型、排序,所以field本身可以不用对字段名、字段位置进行描述,只需要根据字段类型选用合适的二进制序列化方法,将字段本身的value值进行序列化传输即可。 稍微总结一下: ProtoBuf通过对传输字段的名称、顺序进行预定义,从而在传输结构中只需要顺序的记录每个字段的类型标签和二进制值。 尽管上文和官方中都是以XML或者JSON来对ProtoBuf进行对比。但是因为ProtoBuf本身就是二进制序列化方式,所以从压缩比上比较感觉有点欺负人。 对应的在Java中二进制常用的序列化器有Kryo和Hessian。但事实上,由于Kryo和Hessian中都需要对Java类名和字段信息进行存储。而ProtoBuf则只有Tag-Length-Value的数据对,且Value更是有针对性的特殊编码,所以空间占用小的很多。 Kryo是专门针对Java进行优化了的。所以在使用的便捷性上来说Kryo则更加方便。但ProtoBuf是跨平台的,且由于进行了字段的顺序定义,所以似的ProtoBuf定义后的接口是可以向前兼容的(只向后追加字段),而这种优势是Kryo所没有的。 ProtoBuf是跨语言的,使用ProtoBuf的第一步是先定一个 proto 文件 ,而由于ProtoBuf 2和3语言版本的不同,其定义格式会有所不同,具体的细节还是得参考官方文档:https://developers.google.cn/protocol-buffers/docs/proto3 对于ProtoBuf 3 的定义文档我们可以按如下方法定义: 其中message关键字是定义的文件名,而 string、int32则是预定的字段类型,repeated则是描述字段为可重复任意多次的字段。 ProtoBuf通过这种形式的文件定义了传输信息的文件结构。 但是之前小节中我们知道了ProtoBuf是通过 Tag-[Length]-Value 组成的数据组来进行信息传输的,那么proto文件中定义的内容如何转换为实际传输的对象呢? ProtoBuf的做法是,为每一种语言提供一个生成器protoc。通过使用protoc则可以根据.proto文件生成为一组java文件。对应的官方语法演示样例为: 官方的生成参考为:https://developers.google.com/protocol-buffers/docs/reference/java-generated 生成后的java文件将提供对应的实体以及数据的构造方法等文件,从而支持后续的使用。 需要注意的是,ProtoBuf是本质上是序列化方法,具体是通过Spring Cloud 的OpenFeign进行接口调用,还是通过grpc进行接口调用,都是可以的。 本文对ProtoBuff进行了概念的整理,并没有对每个细节都进行深入的梳理,可以当作概念科普来进行阅读。

protobuffer 怎么输出

在网上查了一下,虽然有很多文章介绍Protocol Buffer,但是实际使用起来,还是会遇到很多问题,所以我想应该有一个指南一样的东西,让新手很快就能使用它。Protocol Buffer简写为Protobuf,是Google开发的一种储存数据的方式,功能与XML一样,但更方便,数据量更小,速度更快,在序列化和反序列化的时候使用,有很大的优势。比如,网络游戏的通讯协议编写。更重要的是,它是一个开源项目。由于Protobuf不能生成C#代码,所以就要用到另外一个开源项目protobuf-net,用法是,在命令行用protoc.exe依据你自己定义的.proto文件,来生成.cpp文件用protobuf-net的protogen.exe来生成.cs文件,可以写一个批处理,如下:protoc -I=. --cpp_out=. Net.proto //在当前目录下,以cpp方式编译Net.protoprotogen -i:Net.proto -o:Net.cs //在当前目录下,用Net.proto生成Net.cs其实两句功能是一样,只是分别生成了Net.proto的cpp文件和cs文件,这样就可以在两种语言编写的应用程序间通信了。

ProtocolBuffer浅析

ProtocolBuffer是google 定义的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。ProtocolBuffer类似于xml、json,不过它更小、更快、也更简单。 目前使用最广泛的数据传输协议为JSON,JSON是一种轻量级的数据交换格式而且层次和结构比较简单和清晰,这里主要对比一下Protocol Buffer和JSON的对比,给出优势和劣势: 优势 劣势 实际数据对比 Protocol Buffer的使用流程总体可以分为三步,如下图所示: google推荐在Android项目中使用lite版,lite版本生成的java文件更加轻量,其配置如下: 首先创建一个.proto文件,并且在文件中声明如下内容: 在整个proto文件中数据类型分为基本类型和结构类型,其中结构类型主要为: 下面分别介绍一下不同结构的作用及规定: message表示一个结构,类似于java中类,一个proto文件中可以声明多个message结构: message可以引用不同proto文件中的message,只要在proto文件中的最上面声明import即可,如下所示: enum使用很简单,直接在message中声明enum结构体并且将属性声明为对应的enum即可: 在proto3中,enum第一个值必须为0,主要是为了和基础类型的默认值保持一致 map是proto3新加的,使用也很简单: 如下 repeated修饰的属性类似于jsonArray,也类似于java中的List,该修饰符在格式正确的消息中可以重复任意次(包括0次) 日常开发过程中,由于需求的变更,往往需要增加字段,这就涉及到字段的扩充,字段扩充需要达到一个目的: 兼容 所以Protocol Buffer在字段扩充中定义了如下规则: 只要记住上述规则,就能完成字段扩充且老版本也能兼容 Protocol Buffer 更快更小的主要原因如下: 上面这个例子中,在序列化时,"name" 、"count"的key值不会参与,由编号1、2代替,这样在反序列化的时候直接通过编号找到对应的key就可以。需要注意的是编号一旦确定就不可以更改,服务端和客户端通过proto通信的时候需要提前定义号数据格式。 其中Length不一定有,依据Tag确定,例如int类型的数据就只有Tag-Value,string类型的数据就必须是Tag-Length-Value。 Protocol Buffer定义了如下的数据类型,其中部分数据类型已经不再使用: 上面已经介绍了Protocol Buffer的数据结构及Tag的类型,但是Tag块并不是只表示数据类型,其中数据编号也在Tag块中,Tag的生成规则如下: 其中Tag块的后3位表示数据类型,其他位表示数据编号 Java中整数类型的长度都是确定的,如int类型的长度为4个字节,可表示的整数范围为-2 31——2 31-1,但是实际开发中用到的数字均比较小,会造成字节浪费,可变长度编码就能很好的解决这个问题,可变长度编码规则如下: 举个例子: 其中第一个字节由于最高位为1,则后面的字节也是前面的数据的一部分,第二个字节最高位为0,则表示数据计算终止,由于Protocol Buffer是低位在前,整体的转换过程如下: 10000001 00000011 ——> 00000110000001 表示的10进制数为:2^0 + 2^7 + 2^8 = 385 通过上面的例子可以知道一个字节表示的数的范围0-128,上面介绍的Tag生成算法中由于后3位表示数据类型,所以Tag中1-15编号只占用1个字节,所以确保编号中1-15为常用的,减少数据大小。 可变长度编码唯一的缺点就是当数很大的时候int32需要占用5个字节,但是从统计学角度来说,一般不会有这么大的数. 上面介绍了Protocol Buffer的原理,现在通过实例来展示分析过程,我们定义的proto文件如下: 其序列化后的字节数据如下: 前面介绍过Protocol Buffer的 数据结构为TLV,其中L不是必须的,根据T的类型来确定 先看下第一个字节: 这里字节最高位为0,所以该Tag就用这一个字节表示,其中后3位表示类型,前面表示字段编号,所以: 这里字节最高位为0,所以该Tag就用这一个字节表示,其中后3位表示类型,前面表示字段编号,所以: file_num = 0001 = 1 type = 010 = 2 上面介绍过type=2,则后面有Length,按照可变长度编码规则,知道表示长度的字节为: 所以Length=4,则value的长度是4个字节,直接取出后面4个字节: 这4个字节对应的就是test 再看下一组: 由上面的Tag知道: file_num=2 type=0 前面介绍过type=0,后面没有Length,直接就是value, value=1,通过上面的解析可以知道 上面介绍了Protocol Buffer的原理,解释了为什么Protocol Buffer更快,更小,这里再总结一下: 参考资料: proto3官网指南: https://developers.google.com/protocol-buffers/docs/proto3 protobuf-gradle-plugin: https://github.com/google/protobuf-gradle-plugin 博客: https://juejin.im/post/5dcbf630e51d451bfe5bb21b

python grpc如何给proto文件中map类型的变量赋值?

改完之后,你可以选择project->clean,clean后你项目的R.java文件就会重新生成,所有的资源ID会重新分配,这样子你所修改的资源才能被Android真正识别,有时这个操作不是必要的,但是如果出现你修改了资源后,你的项目中出现了一些问题,那么执行Clean是一个必须的选择,这些资源包括drawable下的图片,布局里id的修改,values下资源的修改,你可以着手试一下 Good luck

原始汉语(Proto-Chinese)从原始汉藏语分出以后,由SOV到SVO的语序变化是怎么出现的?

殷商的更SVO,而周人的更SOV。殷商的语序来源,暂时不太清楚。而周人因为更加靠近藏语、一些羌族人的语言,所以在几百年的语言接触中,语法受到影响。一般,两种语言接触融合,会保留强势语言的词汇,而保留弱势语言的语法。这种语序作为语法的一部分被周人所接受。后来周人又重新入住中原,推翻了殷商人,将他们的语言,确切的说,是姬姓王室,带回了中原。但是,随后他们又雅言化了,又变成以SVO为主,这需要一定是历时材料的梳理。这一点,先秦文献,可以看出一点端倪。比如,诗经中不同的国家的用词有所不同。安大简出土的诗经中,只有姬姓诸侯国,会采用"言",作为第一人称代词。(当然,也有人认为安大简是伪造的。所以材料还是存疑)如果能够继续在各种文献中找到一批这样的现象,上古汉语的两层基本可以坐实。在这个框架下,可以进一步弄清楚题主的问题。

Protobuf 数据格式

简单来说, Protocol Buffers 是一种和语言平台都没关的数据交换格式。 关于 Protobuf 在iOS下的使用请看上篇文章 iOS 的 Protocol Buffer 简单使用 Protobuf 序列化后的二进制数据消息非常的紧凑,这得益于 Protobuf 所采用的 Varint Varint 是一种紧凑的表示数字的方法,它用一个或多个字节来表示一个数字,值越小的数字使用越少的字节数。这能减少用来表示数组的字节数。 比如对于 int32 类型的数字,一般需要4个 byte 来标识。但是采用 Varint,对于很小的 int32 类型的数字,也能用1个 byte 来标识。如果数字很大,也就需要5个 byte 来表示了。但是,一般情况下很少会出现数字都是大数的情况下。 正常情况下,每个 byte 的8个 bit 位都用于存储数据用,而在 Varint 中,每个 byte 的最高位的 bit 有着特殊的含义,如果该位为1,表示后续的 byte 也是该数据的一部分;如果该位为0,则结束。其他的7个 bit 位都用来表示数据。因此小于127的 int32 数字都可以用一个 byte 表示,而大于等于 128 的数字:如128,则会用两个字节表示: 1000 0000 0000 0001 (采用的是小端模式),311则表示: 1011 0111 0000 0010 下图演示了 Protobuf 如果通过2个 byte 解析出 128。Protobuf 字节序采用的是 little-endian(小端模式) int32 数据类型能表示负数,负数的最高位为1,如果负数也使用这种方式表示会出现一个问题,int32 总是需要5个字节,int64 总是需要10个字节。所以 Protobuf 定义了另外一种类型 sint32, sint64,采用 ZigZag 编码,所有的负数都使用正数表示,计算方式为: Protobuf 消息是一系列的键值对组成。消息的二进制版本仅使用 field 数字当作 key,不同 field 的属性和类型只能通过消息类型的定义 (即 .proto 文件) 在解码端确定。如果消息中不存在该 field,那么序列化后的 Message Buffer 中也不会有该 field,这些特性都有助于节约消息本身的大小。 Key 用来标识具体的 field,在解包的时候,Protobuf 根据 key 就能知道相应的 Value 对应于消息中的哪一个field,数据类型是哪个类型。 Key 的定义如下: Key 由两部分组成:第一个部分是 field_number,比如上篇文章定义的消息 FooSimpleMessage 中的 msgId 属性的 field_number 为1;第二部分为 wire_type,表示 Value 的传输类型 表1. Wire Type 在之前的例子中,msgId 采用的数据类型为 int32,因此对应的 wire_type 为0,所以对应的 tag 为 FooSimpleMessage 的 msgContent,field_number 为2,wire_type 为2,所以对应的 tag 为 对应 Length-delimited 的 wire type,后面紧跟着的 Varint 类型表示数据的字节数。所以 msgContent 的 key 后面紧跟着的 0x1a 表示后面的数据长度为10个字节,"A protobuf message content" 的 ASCII 值即为: 0x41 0x20 0x70 0x72 0x6f 0x74 0x6f 0x62 0x75 0x66 0x20 0x6d 0x65 0x73 0x73 0x61 0x67 0x65 0x20 0x63 0x6f 0x6e 0x74 0x65 0x6e 0x74 在 Demo 里面定义的 msg 对象,其序列化后的数据的十六进制表示应该为 0801121a 41207072 6f746f62 7566206d 65737361 67652063 6f6e7465 6e74 运行demo,打印一下结果和猜想的一样: 参考地址: Protocol-buffers Encoding

无 proto文件即不知道服务端的.proto文件格式 客户端能不能解析成普通易懂的string

Protocol Buffers的是一个高效且可扩展的格式结构化数据编码的一种方式。谷歌使用了Protocol Buffers的几乎所有它的内部RPC协议和文件格式使用protobuf传输的好处有:二进制传输,安全、数据量小.proto文件中我们服务器定义需要传输的数据,及数据类型等。而传输的时候则是使用了通过官方工具生成的具体为.java的消息体

wireshark内置支持protobuf吗

只要你装了WINPCAP 就可以自己编程抓包,或使用wireshark抓包了。但是无线网卡好像无法通过winpcap抓包,具体如何实现无线网卡抓包,还没有研究过。6930p自带网卡绝对可以抓包,我开发网络抓包程序就是通过笔记本实现的,网卡也是我的三星笔记本自带的。

Swift 安装protobuf

1、官方项目地址: https://github.com/apple/swift-protobuf 2、拉取项目到本地 3、进入项目本地路径,查看版本 4、根据项目需要,选择版本编译 如:1.5.0 5、构建项目 6、构建完成之后会生成一个 protoc-gen-swift 执行路径:swift-protobuf/.build/release/protoc-gen-swift7、把protoc-gen-swift文件直接拷贝到/usr/local/bin目录下 8、swift版本的protobuf已安装完成,现在可以来测试使用 准备一个proto文件(Book.proto) 9、生成swift文件 10、把生成的Book.swift文件拖入到项目中就可以使用了

为什么google protobuf不支持map的序列化和反序列化

现在它是支持的。proto2的文档就已经提到了Maps(Language Guide),但我用protoc2.6编译的时候,map关键字无法通过编译,protoc3.0编译正常,proto举例:message Person { required int32 id = 1; required string name = 2; optional string email = 3; map<string, string> values= 4; } 另外,官方文档(https://developers.google.com/protocol-buffers/docs/proto#Maps)说了:The map syntax is equivalent to the following on the wire, so protocol buffers implementations that do not support maps can still handle your data:message MapFieldEntry { key_type key = 1; value_type value = 2;}repeated MapFieldEntry map_field = N;

怎么将protobuf string类型

2.下载一个protobuf-java-2.4.1.jar文件(注意,要与你刚才下的proto.exe版本相同)然后就开始开发了。步骤:1.用记事本编写一个.proto文件:}如:编写的是test.proto package protobuf; option java_package = "com.sq.protobuf"; option java_outer_classname = "FirstProtobuf"; message testBuf { required int32 ID = 1; required string Url = 2; }将其放在与刚解压的protoc.exe同级目录中。2.在cmd中,到protoc-2.4.1-win32文件夹下,执行E:protoc-2.4.1-win32> protoc.exe --java_out=./ test.proto 则可以找到的一个生成的FirstProtobuf.java文件。3.在MyEclipse中新建一个java project,建立包com.sq.protobuf,然后将刚才生成的FirstProtobuf.java文件放在其下面。此时会报错,因为没有引入jar包,在package视图下,将protobuf-java-2.4.1.jar引入,即可解决问题。

一个案子Proto阶段的定义是什么?需要做些什么?proto后面是EVT,DVT,PVT

打样, 料件及整机模具开发调试阶段

samson Regina spektor这首歌讲述怎样的一个故事? 不是要歌词翻译,谢谢!

取材自博客 杂谈 Regina Spektor - Samson Samson是圣经中的人物。出生时天使告诉他母亲,他的力量将会来自他的头发。他最先爱上的是一个菲利斯汀的女人(圣经中没有很多关于她的故事),并决定与她结婚。婚姻遭到他家人以及菲利斯汀族人的干扰,后来他的未婚妻被送给一个伴郎做为妻子。Samson得知,便前去毁了菲利斯汀人的农作物。菲利斯汀人则将他的父亲和原本的未婚妻烧死。Samson因此堕落,与多名妓女交往。后来更是与心怀叵测的女人Deliah相爱,导致落入陷阱,头发被剪,力量全失,被敌人关在牢里,敌人更想要在神庙前羞辱他。痛苦的煎熬中他决定悔过,并求上帝赐于他新的力量。他的头发长回。在庙前他抱着两根主要支柱,身体尽力向前倾,导致圆柱及建筑倒塌,虽压死了庙中的敌人,但他自己也牺牲了。"Samson"You are my sweetest downfall你让我甜蜜地堕落I loved you first, I loved you first我最先爱上你我最先爱上你Beneath the sheets of paper lies my truth我要说的实话 就在那叠纸下I have to go, I have to go但现在我要走了我要走了Your hair was long when we first met第一次见面时 你仍有长发Samson went back to bedSamson回到床边Not much hair left on his head头发已不十分多He ate a slice of wonder bread and went right back to bed他吃了一片奇异面包 然后回去睡了And history books forgot about us and the bible didn"t mention us历史书忘了我们 圣经也没有提到我们And the bible didn"t mention us, not even once圣经也没有提到我们 一次也没有You are my sweetest downfall你让我甜蜜地堕落I loved you first, I loved you first我最先爱上你我最先爱上你Beneath the stars came fallin" on our heads天空下 星星落在我们发间But they"re just old light, they"re just old light但它们只是最平凡的亮光 最平凡的亮光Your hair was long when we first met第一次见面时 你仍有长发Samson came to my bedSamson走到我床边Told me that my hair was red告诉我 我的头发是红色的Told me I was beautiful and came into my bed轻声告诉我 我很美然后便和我一起睡Oh I cut his hair myself one night噢 那一晚我自作主张地剪了他的头发A pair of dull scissors in the yellow light在桔光下 那一把钝剪刀And he told me that I"d done alright他说 我做的还不错And kissed me "til the mornin" light, the mornin" light然后便吻我 直到曙光出现 曙光And he kissed me "til the mornin" light他吻了我 直到曙光出现Samson went back to bedSamson回到床边Not much hair left on his head头上的头发已不多Ate a slice of wonderbread and went right back to bed他吃下一面奇异面包 然后便回去睡了Oh, we couldn"t bring the columns down噢 我们没有把建筑的圆柱摧毁Yeah we couldn"t destroy a single one我们做不到 一根也没有摧毁And history books forgot about us历史书把我们忘了And the bible didn"t mention us, not even once圣经也没有提到我们 一次也没有You are my sweetest downfall你让我甜蜜地堕落I loved you first而我是第一个爱上你的人分享:

c#实体转成proto message

经常会遇到把一个实体转化成另一个实体这样的情况,实体的属性一个一个手写去转化不反对,但不是啥好的方法;可以使用反射写一个通用的实体转化类,针对任何实体转化,不用再去自己手写。虽然Grpc.Tools可以将proto文件自动生成代理类,但是proto文件的手敲,还容易出错,如果接口比较复杂,定义比较多,这就很头疼了。为了解决这个问题Class2Proto诞生了,使用标准C#对象转换成proto文件,不管是新写的接口,还是老的API接口转Grpc,都没问题:1、安装nuget包:CRL.Class2Proto 2、using CRL.Class2Proto; 定义标准接口代码;运行转换方法生成proto文件;程序目录Protos成生了protoTest.proto文件

proto-horse什么意思?

proto-horse原马proto [词典] 原型机,样机;[网络] 原; 普罗托; 协议;[例句]What"s Generated From Your. proto?从你的.proto文件生成了什么?horse 英[hɔ:s]美[hɔ:rs]n. 马; 骑马的军人,骑兵; 有脚的架; 跳马,鞍马;vt. 为…备马; 猛推或用力向上举;vi. 欲交配,,用于母马;[网络] 黑马; 跳马; 房子;[例句]A small man on a grey horse had appeared.一个骑着灰马的小个子男人出现了。[其他] 第三人称单数:horses 复数:horses 现在分词:horsing 过去式:horsed 过去分词:horsed

一句话中talk是在最前面:talking topeople 请问talking为什么加上ing?

Talking 放于句首,是动名词结构作主语的一种用法。

protobuf repeated 怎么用的

protobuf repeated类型的使用protobuf是Google开发的一个序列化框架,类似XML,JSON,基于二进制,比传统的XML表示同样一段内容要短小得多。通过protobuf,可以很轻松的调用相关方法来完成业务数据的序列化与反序列化。protobuf repeated类型相当于std的vector,可以用来存放N个相同类型的内容,文章将简单介绍protobuf repeated的使用。首先定义一个protobuf结构,如下:message Person { required int32 age = 1; required string name = 2;}message Family { repeated Person person = 1;}下面以例子简单说明如何使用:int main(int argc, char* argv[]){ GOOGLE_PROTOBUF_VERIFY_VERSION; Family family; Person* person; // 添加一个家庭成员,John person = family.add_person(); person->set_age(25); person->set_name("John"); // 添加一个家庭成员,Lucy person = family.add_person(); person->set_age(23); person->set_name("Lucy"); // 添加一个家庭成员,Tony person = family.add_person(); person->set_age(2); person->set_name("Tony"); // 显示所有家庭成员 int size = family.person_size(); cout << "这个家庭有 " << size << " 个成员,如下:" << endl; for(int i=0; i<size; i++) { Person psn = family.person(i); cout << i+1 << ". " << psn.name() << ", 年龄 " << psn.age() << endl; } getchar(); return 0;}

android studio的proto文件放在哪

方案是:1、在build.gradle中增加dependencies { compile fileTree(dir: "libs", include: ["*.jar"]) compile group:"com.google.protobuf",name:"protobuf-java",version:"2.5.0" //这个是关键的一句话,对于这个version是从你的本地maven存放的目录, 进入到 .m2 epositorycomgoogleprotobufprotobuf-java目录下,看到的那个数字文件夹的名字,就是你的version,

Regina Spektor的《samson》 歌词

歌曲名:samson歌手:Regina Spektor专辑:songsRegina Spektor - SamsonYou are my sweetest downfallI loved you first, I loved you firstBeneath the sheets of paper lies my truthI have to go, I have to goYour hair was long when we first metSamson went back to bedNot much hair left on his headHe ate a slice of wonder bread and went right back to bedAnd history books forgot about us and the bible didn"t mention usThe bible didn"t mention us, not even onceYou are my sweetest downfallI loved you first , I loved you firstBeneath the stars came falling on our headsBut there just soft light, there just soft lightYour hair was long when we first metSamson came to my bedTold me that my hair was redHe told me I was beautiful and came into my bedOh I cut his hair myself one nightA pair of dull scissors and the yellow lightAnd he told me that I"d done alrightand kissed me till the morning light, the morning lightand he kissed me till the morning lightSamson came back to bednot much hair left on his headAte a slice of wonderbread and went right back to bedOh, we couldn"t bring the columns downYeah we couldn"t destroy a single oneAnd history books forgot about usAnd the bible didn"t mention us, not even onceYou are my sweetest downfallI loved you firsthttp://music.baidu.com/song/14232470

在proto 中如何将字符串封到bytes

Configuration conf = HBaseConfiguration.create(); String tableName = "testTable"; Scan scan = new Scan(); scan.setCaching(10000); scan.setCacheBlocks(false); conf.set(TableInputFormat.INPUT_TABLE, tableName); ClientProtos.Scan ...

talkinng后面要要加to吗?

那你的这个的话肯定是要加建一个吐的当然了如果是和别人的话用建议还是加为仁和一是一些

protobuf 怎么查看版本

protobuf版本需要在protobuf程序中查看。在protobuf程序中查看版本步骤如下所示:1、点击打开计算机,进入分区列表。2、在计算机分区列表中选择protobuf程序所在的文件夹。3、点击打开protobuf程序。4、如图所示在protobuf程序中,即可完成protobuf版本查看。

PROTO什么意思

PROTO原abbr.protoporphyrinogen 原卟啉原,初卟啉原; 答题不易答案满意采纳谢谢思密达ps:如有问题继续追问

javascript中_proto_和__proto__的区别?左边是一条下划线,右边是两条下划线

这仅仅表示是两个不同的变量名而已,与下划线没什么必然的关系。下划线在这里就是变量名的一个组成部分而已,可以换成其他任意的字母或数字(但开头第一个下划线只能换成字母不能是数字),用下划线仅仅是程序设计者的个人爱好而已。你如果想偷懒,你甚至可以直接用a和b来分别作为两个变量名的。

protobuf可变长度原理

这篇文章在你已经了解protobuf使用的基础上,更进一步的学习,如果不知道protobuf是什么?请查阅这篇文章 【golang-protobuf使用】 官网说明地址: https://developers.google.com/protocol-buffers/docs/proto3 proto文件的可变长度类型有:int32、int64、uin32、uin64、sint32、sint64 Protobuf 用的是连续位标识技术,使用每个字节的第一位来标识是否需要继续向后读。每个字节低7位用于实际的编码。 举例: 十进制:300 二进制(4个字节):00000000 00000000 00000001 1000000 protobuf编码过程 所以最终编码结果为 1 0000000 0 1100000,这样将4字节存储大小转化为2字节存储大小 目标:将10^32bit的二进制进行编码 proto文件格式 测试结果: 由测试结果可得如果高位(左边)字节为0,编码结果大小相应减少

天堂执法者第二季lori weston的演员很迷人,谁有她的资料

她的扮演者叫Lauren German,1978年11月29日生于加利福尼亚州奥兰治县亨廷顿滩市(Huntington Beach)出演过的影视剧及扮演的角色Down to You (2000) as Lovestruck Woman Undressed: Season 3 (2000) as Kimmy Shotgun Love Dolls: "Pilot" (2001) as Beth 7th Heaven: "Apologize" (2001) as Marie Going to California: "A Little Hard in the Big Easy" (2002) as Tiffany A Walk to Remember (2002) as Belinda Dead Above Ground (2002) as Darcy Peters A Midsummer Night"s Rave (2002) as Elena The Lone Ranger (2003) as Emily Landry The Texas Chainsaw Massacre (2003) as Teenage Girl u211e: aka Simple Lies (2005) as Melissa Standing Still (2005) as Jennifer Sex, Love & Secrets: episodes 1–8 (2005) as Rose Piggy Banks: aka Born Killers (2005) as Gertle Surrender, Dorothy (2006) as Maddy It Is Fine. Everything Is Fine! (2007) as Ruth Spin (2007) as Cassie Love and Mary (2007) as Mary Hostel: Part II (2007) as Beth What We Do Is Secret (2007) as Belinda Carlisle Mating Dance (2008) as Abby Made for Each Other (2009) as Catherine Dark Country (2009) as Gina Happy Town: all episodes (2010) as Henley Human Target: "Kill Bob" (2011) as Angie/Natalia The Divide (2011) as Eva Memphis Beat: two episodes (2011) as Kaylee Slater (Mark"s Neighbor) Hawaii Five-0 (2011) as Lori Weston

protobuf 怎么查看版本

protoc --version

proto3怎么判断字段是否被赋值

客户端lua,通信协议是protobuf,以前用网易的proto-gen-lua,使用过程遇到些问题需要绕,比如: 1、每次更改、增加proto都要生成新的文件,代码规模剧增 2、由于lua本身,每个文件最大文件内全局local变量不能超过200个,所以当proto规模太大时...

怎样用正则表达式删除PROTO及紧跟的()? 例void PROTO(main)(void)变为void main(void)却不删除main

s/PROTO([^.]+)/$1

proto 没有set

protobufrepeated的数据类型和C++的Vector,list类似,只能传输相同的数据类型。当然,如果你为了传输多种数据类型,可以使用类似与C++union的方式,用个大消息,消息的每个字段都使用optional标记,你在业务处理的时候,每次只对一个字段赋值同样可以达到目的。另外:repeated只能表示数据有还是没有,在没有的时候,究竟是保留原有的数据不动,还是删除所有数据,这点有歧义。需要使用另外的字段进行处理。

linux ping命令中的struct proto

可以使用,相当与函数地址作为一个常量值赋值给结构体变量函数proto_v4 = { proc_v4, send_v4, NULL, NULL, 0, IPPROTO_ICMP };等同于:proto_v4 = { &proc_v4, &send_v4, NULL, NULL, 0, IPPROTO_ICMP }即取函数地址指针。

talking about、talking to和talking with的区别及用法

答:talk是“谈”,about是“关于”,to是‘对着",with是‘和...一起", 所以talk about 相当于汉语的“谈论”,宾语可以是事情,与可以是人, talk to是“对...谈话”,宾语是人,常为上级对下级. talk with是“和..交谈”,宾语是人,同辈,或当同辈来看.

Are you talking to your mother 里的talking是什么词?

现在分词,Be + talking
 首页 上一页  1 2 3 4 5 6 7 8 9  下一页  尾页